我的代码中有以下行:
System.Diagnostics.Debug.WriteLine("Title:" + title + "title[top]: " + title[top] + "title[sub]: " + title[sub]);
当我调试时,我看到它转到这一行,但是当我查看 Visual Studio 2010 中的输出窗口时,即使它显示为“调试”并且我使用“调试 > 运行”运行,我也看不到任何东西。为什么?
我的代码中有以下行:
System.Diagnostics.Debug.WriteLine("Title:" + title + "title[top]: " + title[top] + "title[sub]: " + title[sub]);
当我调试时,我看到它转到这一行,但是当我查看 Visual Studio 2010 中的输出窗口时,即使它显示为“调试”并且我使用“调试 > 运行”运行,我也看不到任何东西。为什么?
检查以下项目 -
DEBUG
调试时选择模式Debug
在输出窗口中选择了选项 -
Debug.AutoFlush = true
在代码开头插入第 5 点的参考(阅读评论,它对那个人有用)
对我来说,这解决了问题:
System.Diagnostics.Trace.WriteLine("whatever");
(使用Trace
代替Debug
)
在您的 app.config 文件中,确保您的跟踪侦听器中没有<clear/>
元素。
您将有效地清除跟踪侦听器列表,包括用于 Debug 语句的默认跟踪侦听器。
这是您的 app.config 文件中的内容:
<system.diagnostics>
<trace>
<listeners>
<!-- This next line is the troublemaker. If it is there delete it-->
<clear/>
</listeners>
</trace>
</system.diagnostics>
对我来说,我需要这样做来解决问题:
1. Open the project's property page
2. Under Build tab, check "Define DEBUG constant" and "Define Trace constant"
瞧!
我有同样的问题。使用 Trace.WriteLine 并检查“定义调试常量”对我不起作用。
我注意到输出消息是在立即窗口中找到的,而不是在输出窗口中。
然后我取消选中工具中的“将所有输出窗口文本重定向到立即窗口”选项并解决了我的问题。
使用“System.Diagnostics.Debug.WriteLine”我在即时窗口中输出:-O