跟踪和调试语句

Vin*_*cio 8 .net debugging trace

我对如何使用.NET Trace和Debug类感到困惑.

你为什么要使用Trace而不是Debug呢?

Trace.TraceError()
Trace.TraceInformation()
Trace.Assert()

Debug.WriteLine()
Debug.Assert()
Run Code Online (Sandbox Code Playgroud)

另外,我知道在Release配置模式下会忽略Debug语句,但如果跟踪语句一直适用,这对性能有何影响?

Mar*_*ell 7

在最简单的层面上,它们具有不同的编译开关 - 即Debug.WriteLine只有在您具有DEBUG编译符号(对于发布版本不常见)时才会切换,其中 - Trace.WriteLine通常也会包含在发布版本中.

Trace路由具有可自定义的跟踪侦听器,可以通过配置进行检测; Debug通常作为监听器进入调试器.当然,还有第三方跟踪系统提供了更大的灵活性.