首页 > C# > C# if/then 指令用于调试与发布

C# if/then 指令用于调试与发布

上一篇 下一篇

在“解决方案属性”中,我为我的唯一项目将“配置”设置为“发布”。

在主例程的开头,我有这段代码,它显示“模式=调试”。
我在最上面还有这两行:

#define DEBUG 
#define RELEASE

我是否测试了正确的变量?

#if (DEBUG)
            Console.WriteLine("Mode=Debug"); 
#elif (RELEASE)
            Console.WriteLine("Mode=Release"); 
#endif

我的目标是根据调试模式与发布模式为变量设置不同的默认值。

分割线

网友回答:

DEBUG/_DEBUG应该已经在 VS 中定义。

删除代码中的 。在该特定生成的生成配置中设置预处理器。#define DEBUG

它打印“模式=调试”的原因是因为您的,然后跳过.#defineelif

正确的检查方法是:

#if DEBUG
    Console.WriteLine("Mode=Debug"); 
#else
    Console.WriteLine("Mode=Release"); 
#endif

不要检查 。RELEASE

分割线

网友回答:

默认情况下,如果项目在调试模式下编译,Visual Studio 将定义 DEBUG,如果项目处于发布模式,则不会定义它。默认情况下,不会在发布模式下定义发布。使用类似这样的东西:

#if DEBUG
  // debug stuff goes here
#else
  // release stuff goes here
#endif

如果只想在发布模式下执行某些操作:

#if !DEBUG
  // release...
#endif

此外,值得指出的是,您可以在返回的方法上使用属性,以便仅在定义了某个符号时才执行它们。如果未定义符号,编译器将删除对这些方法的所有调用:[Conditional("DEBUG")]void

[Conditional("DEBUG")]
void PrintLog() {
    Console.WriteLine("Debug info");
}

void Test() {
    PrintLog();
}

分割线

网友回答:

我更喜欢像这样检查它而不是寻找指令:#define

if (System.Diagnostics.Debugger.IsAttached)
{
   //...
}
else
{
   //...
}

需要注意的是,当然,您可以在调试模式下编译和部署某些内容,但仍然没有附加调试器。

模板简介:该模板名称为【C# if/then 指令用于调试与发布】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【C#】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 222次
  • 使用软件 Sublime/Dreamweaver/HBuilder
  • 文件格式 编程语言
  • 文件大小 暂无信息
  • 上传时间 04-15
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
微信公众平台 微信图片 微信文章 微信素材 企业网站 html5 响应式 微信模板 单页式简历模板 自适应
您可能会喜欢的其他模板