Trace有什么区别.WriteLine和Debug.WriteLine



据我所知,Trace.WriteLine()写入Trace.Listeners集合中的所有Trace侦听器,经过一些研究,我发现debug.Writeline()显然做了基本相同的事情。那么debug.WriteLine()的意义何在?

这就是调试的工作方式:

  1. 我们首先使用Console.WriteLine进行调试。这将在控制台上打印所有内容。很多时候,我们可能没有控制台。此外,Console.WriteLine(用于控制台应用程序(的目的是向用户显示有意义的消息
  2. 因此,焦点转移到Debug.WriteLine。默认情况下,Debug.WriteLine会在Visual Studio输出窗口中打印调试信息(这可以在app.exe.config文件中进行配置(。跟踪信息是使用Debug生成的。WriteLine((,如果使用DEBUG条件#ifdef DEBUG生成。这是";关于";默认情况下处于调试模式。在发布模式中,这些调用被有效地删除,不会产生任何开销
  3. 然而,现在我们意识到,我们不想在生产或发布模式下打印所有内容(如堆栈跟踪等(,因此,我们在发布模式下使用Trace.WriteLine

在调试模式下,我们可以看到Debug.WriteLine()Trace.WriteLine()的输出。但是,单元测试代码同时支持Debug.WriteLineTrace.WriteLine调用。

相关内容

  • 没有找到相关文章

最新更新