C#的两种debug方法

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: |||超大  

第一种:需要把调试方法改成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();

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航