C#的两种debug方法
第一种:需要把调试方法改成debug
代码用 #if DEBUG 包裹
usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.IO;namespaceSplitPackage
{publicstaticclassEnvConfig
{staticEnvConfig()
{#ifDEBUGToolsPath=@"D:\workspace\shopstyle\tool";#elseToolsPath=Environment.CurrentDirectory;#endifintrootIdx = ToolsPath.LastIndexOf(@"\");if(rootIdx >0)
{
RootPath= ToolsPath.Substring(0, rootIdx);
}
}publicstaticstringToolsPath {get;PRivateset; }publicstaticstringTmplateFile {get{returnPath.Combine(ToolsPath,@"template\default.pm"); } }publicstaticstringRootPath {get;privateset; }publicstaticstringModulePath {get{returnPath.Combine(RootPath,"module"); } }publicstaticstringConfigPath {get{returnPath.Combine(RootPath,"conf"); } }
}
}
第二种:
利用宏定义
#define DEBUG// C#的宏定义必须出现在所有代码之前。当前我们只让DEBUG宏有效。
using System.Diagnostics; //必须包含这个包
#defineDEBUGusingSystem.Diagnostics;namespaceTestConsole
{classToolKit
{
[ConditionalAttribute("LI")]//Attribute名称的长记法[ConditionalAttribute("DEBUG")]publicstaticvoidMethod1() { Console.WriteLine("Created By Li, Buged.11"); }
[ConditionalAttribute("LI")]
[ConditionalAttribute("NOBUG")]publicstaticvoidMethod2() { Console.WriteLine("Created By Li, NoBug."); }
[Conditional("ZHANG")]//Attribute名称的短记法[Conditional("DEBUG")]publicstaticvoidMethod3() { Console.WriteLine("Created By Zhang, Buged.11"); }
[Conditional("ZHANG")]
[Conditional("NOBUG")]publicstaticvoidMethod4() { Console.WriteLine("Created By Zhang, NoBug."); }
}staticvoidMain(string[] args)
{
ToolKit.Method1();
ToolKit.Method2();
ToolKit.Method3();
ToolKit.Method4();
}
}
}