Console.WriteLine()和Debug.WriteLine()有什么区别?

您所在的位置:网站首页 bug和debug的区别 Console.WriteLine()和Debug.WriteLine()有什么区别?

Console.WriteLine()和Debug.WriteLine()有什么区别?

2024-05-28 18:22| 来源: 网络整理| 查看: 265

Console.WriteLine()适用于控制台模式程序。Visual Studio宿主进程的一个很好的功能是,在调试没有控制台的进程时,它的输出会出现在Visual Studio输出窗口中。这在调试时非常有用,但请注意,当您准备创建发布版本时,应该删除此代码(或用#ifdef DEBUG包装它)。否则它会给你的程序增加不必要的开销。这使得它不是调试跟踪的理想选择。

如果您使用DEBUG conditional #定义构建,则Debug.WriteLine()会生成跟踪信息。它在调试版本中默认处于打开状态。可以在app.exe.config文件中配置输出的结束位置。如果此配置未被覆盖,.NET将自动提供DefaultTraceListener类的一个实例。它将带有Windows OutputDebugString() API函数的Debug.WriteLine()文本发送到调试器。Visual Studio调试器使其出现在输出窗口中,就像Console.WriteLine()一样。

Debug.WriteLine()的一个明显的优点是,它在发布版本中不会产生开销,调用被有效地移除。但是,它不支持复合格式,您需要使用String.Format()来实现。对于调试跟踪,debug类应该是您的选择。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3