35

我的代码中有以下行:

System.Diagnostics.Debug.WriteLine("Title:" + title + "title[top]: " + title[top] + "title[sub]: " + title[sub]);

当我调试时,我看到它转到这一行,但是当我查看 Visual Studio 2010 中的输出窗口时,即使它显示为“调试”并且我使用“调试 > 运行”运行,我也看不到任何东西。为什么?

4

6 回答 6

21

检查以下项目 -

  1. DEBUG调试时选择模式
  2. Debug在输出窗口中选择了选项 - 在此处输入图像描述
  3. 查看断点是否命中代码中的 Debug.WriteLine
  4. Debug.AutoFlush = true在代码开头插入
  5. 尝试检查解决方案的平台是否设置为任何 CPU 而不是 x86(或 x64)。
  6. 转到项目属性 - > Web - 在调试器部分,检查 ASP.NET 选项

第 5 点的参考(阅读评论,它对那个人有用)

于 2012-10-21T18:04:15.220 回答
20

对我来说,这解决了问题:

System.Diagnostics.Trace.WriteLine("whatever");

(使用Trace代替Debug

于 2013-11-26T17:01:05.293 回答
8

在您的 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>
于 2012-10-21T18:05:46.173 回答
6

对我来说,我需要这样做来解决问题:

1. Open the project's property page
2. Under Build tab, check "Define DEBUG constant" and "Define Trace constant"

瞧!

于 2017-10-11T20:26:11.163 回答
2

我有同样的问题。使用 Trace.WriteLine 并检查“定义调试常量”对我不起作用。

我注意到输出消息是在立即窗口中找到的,而不是在输出窗口中。

然后我取消选中工具中的“将所有输出窗口文本重定向到立即窗口”选项并解决了我的问题。

于 2019-04-12T21:07:59.100 回答
0

使用“System.Diagnostics.Debug.WriteLine”我在即时窗口中输出:-O

于 2020-05-06T14:09:59.260 回答