【问题标题】:Visual Studio debugging, see/not see debug.writelinesVisual Studio 调试,请参阅/不参阅 debug.writelines
【发布时间】:2012-05-21 05:20:09
【问题描述】:

有没有什么机制可以让你在调试项目时Debug.WriteLine(someinfo) 并标记一些复选框,如果我不想调用这个 debug.writeline(someinfo) 就不会被调用。我想查看有关小数据的调试信息,但在大数据上,我可以将其关闭,而无需注释掉所有 debug.writelines。我可以在 Visual Studio 中使用 #DEBUG/preprocessor 标志吗?当我想根据某种标志查看而不是查看 debug.writelines 时,我仍处于“调试”上下文中?

【问题讨论】:

  • 你的意思是,除了不看输出窗口之外?
  • 我想基本上注释掉我所有的 Debug.WriteLines,而不是手动注释掉它们。

标签: c# visual-studio visual-studio-2010 debugging


【解决方案1】:

可用选项:

  • 右键单击“输出”窗口并取消选中“程序输出”选项
  • Project + Properties,Build 选项卡,取消勾选“Define DEBUG constant”选项并重建
  • Trace.Listeners.Clear(); 添加到您的 Main 方法中。

【讨论】:

    【解决方案2】:

    您可以创建一个新的构建配置(例如,基于 Debug,并命名为 DEBUG_NO_TRACE)。

    菜单 构建 => 配置管理器

    在 Active Solution Configuration 中,选择 new ,从 Debug 复制设置

    然后在您的项目属性(构建选项卡)中创建一个新的预处理器标志#DEBUG_NO_TRACE

    然后将#IF DEBUG_NO_TRACE 放在您想要区别的地方。

    并根据需要选择构建配置。

    但也许有更优雅的解决方案...

    【讨论】:

    • 也许他还可以创建一个简单的包装方法,仅在定义了预处理器标志时才调用Debug.WriteLine。他当然必须通过他现有的调用并将其路由到那个新方法。
    • 当然。但是创建新的 Build and Preprocessor 标志与我的答案相同,还是我错过了什么?
    猜你喜欢
    • 1970-01-01
    • 2018-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-01
    • 1970-01-01
    相关资源
    最近更新 更多