我应该在#if(DEBUG)中调用Debugger.Log()吗?

Dan*_*ens 10 c# debugging logging compiler-optimization visual-studio

是否有必要Debugger.Log()#if (DEBUG)预处理程序指令中包含调用以进行代码优化,或者在构建RELEASE配置时C#编译器是否仍会生成优化代码?

Tig*_*ran 5

RELEASE模式下,调用没有任何优化.

电话是在IL.唯一的区别是,如果没有DEBUGGER,它没有任何影响.

从文档Debugger.Log:

如果没有附加调试器,则此方法无效.

我建议您测量应用的效果,然后选择要遵循的步骤.

如果没有显着差异(从您的应用程序的角度来看),我会按原样保留该日志.

通过这种方式,在需要的时刻,你可以连接到你的应用程序与调试器,让你可能需要从日志中,因为消息Debugger.Log会在工作中点.