debugging 为什么系统.诊断.调试.WriteLine在Visual Studio 2010 C#中不起作用?

k3bvogb1  于 2023-02-04  发布在  C#
关注(0)|答案(7)|浏览(131)

在我的代码中有下面一行:

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

当我调试时,我看到它转到此行,但当我查看Visual Studio 2010中的输出窗口时,我没有看到任何东西,即使它显示为“Debug”,我使用“debug〉run”运行。为什么?

pes8fvy9

pes8fvy91#

检查以下项目-
1.调试时选择DEBUG模式
1.在“输出”窗口中选择了Debug选项-x1c 0d1x
1.查看断点是否命中代码中的Debug.WriteLine
1.在代码开头插入Debug.AutoFlush = true
1.尝试检查解决方案的平台是否设置为“任何CPU”而不是x86(或x64)。
1.后藤项目属性--〉Web -在调试器部分,选中ASP.NET选项
Point #5的参考(阅读评论,它对那个家伙有效)

1u4esq0p

1u4esq0p2#

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

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

(使用Trace代替Debug

omtl5h9j

omtl5h9j3#

在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>
3j86kqsm

3j86kqsm4#

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

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

瞧!

7bsow1i6

7bsow1i65#

我也遇到了同样的问题。使用Trace.WriteLine并选中“定义DEBUG常量”对我来说不起作用。
我注意到输出消息出现在“即时”窗口中,而不是“输出”窗口中。
然后我在工具中取消选中“将所有输出窗口文本重定向到即时窗口”选项,解决了我的问题。

zsohkypk

zsohkypk6#

使用“系统.诊断.调试.WriteLine”,我在即时窗口中输出:-O

tktrz96b

tktrz96b7#

此外,检查消息选项中的“程序输出”是否已选中(在输出窗口中右击)。

相关问题