为什么不打扰Debug.Print?

时间:2013-03-08 22:59:50

标签: c# visual-studio debugging

我在SO上看到了一些不同的答案,它们不鼓励在调试应用程序时使用Debug.Print ......但是没有人真正理解为什么它不好。当然,我用谷歌搜索了它,但结果并没有发现任何可用的东西。

任何人都可以澄清为什么Debug.Print如此糟糕?

2 个答案:

答案 0 :(得分:3)

它很吵 - 所有调试语句最终混合在一起。

很容易错过 - 该流中还有大量其他输出,容易错过。

它没有提供足够的上下文 - 没有堆栈跟踪,如果你忘记包含它们,没有当前变量值等等......

它只到一个地方(调试输出)所以很难发送到磁盘文件,数据库等。

基本上,它对日志记录没有好处,因为你无法控制它的位置,这对调试没有好处,因为调试器可以做得更好。

答案 1 :(得分:2)

它真的没什么问题,只有更好的选择。

如果您要输出数据,您也可以记录它。如果你这样做,你实际上可以从投资中获得回报。

此外,打印输出变量信息的效果不如设置断点并在调试器中检查这些值。特别是在这些工具非常出色的VS中。