【问题标题】:ConditionalAttribute vs Debugger.IsAttachedConditionalAttribute vs Debugger.IsAttached
【发布时间】:2012-02-27 19:53:35
【问题描述】:

ConditionalAttribute 和 Debugger.IsAttached 有什么区别?? 这个机制哪个好用??

如果我写:

[Conditional("DEBUG")]
private void Method() 
{ 
   //Code
} 

将是一样的:

private void Method()
{ 
    if (Debugger.IsAttached)
    { 
        //Code
    } 
}

【问题讨论】:

    标签: .net debugging attributes visual-studio-debugging


    【解决方案1】:

    该属性适用于编译。如果未设置 DEBUG 标志,则从生成的二进制文件中省略该方法。

    附加调试器检查是否附加了调试器。但是调试器可以附加到任何类型的构建(发布、调试等)

    由于它们完全不同,我认为它们无法比较哪个“更好”。他们做不同的事情。如果您想要一些对生产构建完全没有影响(例如性能)的调试构建,请使用该属性。

    【讨论】:

      猜你喜欢
      • 2011-09-16
      • 1970-01-01
      • 2016-12-23
      • 2017-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-21
      • 2014-08-17
      相关资源
      最近更新 更多