Sar*_*nyu 32 .net visual-studio
使用#if (DEBUG)和System.Diagnostics.Debugger.IsAttached在visual studio中有什么不同?是否有DEBUG设置标志但没有附加调试器的情况,或者在DEBUG未设置标志时可以附加调试器的情况?
Pau*_*ell 42
#if DEBUG确保代码在发布版本中根本不包含在程序集中.此外,代码包含#if DEBUG在调试版本中一直运行 - 而不仅仅是在调试器下运行时.
Debugger.IsAttached表示包含调试或发布版本的代码.并且可以附加调试器以将版本发布到.
将两者结合使用是很常见的.#if DEBUG通常用于记录日志,或减少内部测试版本中的异常处理.Debugger.IsAttached往往只是用于决定是否吞下异常或向程序员展示它们 - 更多的是程序员的帮助而不是其他任何东西.
Dav*_*own 11
#if DEBUG是一个编译时检查,这意味着如果DEBUG定义了预处理程序符号,它所包含的代码将仅包含在输出程序集中.Debugger.IsAttached是一个运行时检查,因此调试代码仍然包含在程序集中,但只有在调试程序附加到进程时才会执行.
#if (DEBUG) 是一个预处理程序指令,允许您有条件地编译代码.
System.Diagnostics.Debugger.IsAttached 提供运行时值,指示调试器是否附加到进程.
| 归档时间: |
|
| 查看次数: |
11959 次 |
| 最近记录: |