我在SO上看到了一些不同的答案,它们不鼓励在调试应用程序时使用Debug.Print ......但是没有人真正理解为什么它不好。当然,我用谷歌搜索了它,但结果并没有发现任何可用的东西。
任何人都可以澄清为什么Debug.Print如此糟糕?
答案 0 :(得分:3)
它很吵 - 所有调试语句最终混合在一起。
很容易错过 - 该流中还有大量其他输出,容易错过。
它没有提供足够的上下文 - 没有堆栈跟踪,如果你忘记包含它们,没有当前变量值等等......
它只到一个地方(调试输出)所以很难发送到磁盘文件,数据库等。
基本上,它对日志记录没有好处,因为你无法控制它的位置,这对调试没有好处,因为调试器可以做得更好。
答案 1 :(得分:2)
它真的没什么问题,只有更好的选择。
如果您要输出数据,您也可以记录它。如果你这样做,你实际上可以从投资中获得回报。
此外,打印输出变量信息的效果不如设置断点并在调试器中检查这些值。特别是在这些工具非常出色的VS中。