Visual Studio调试和跟踪语句不起作用

时间:2017-06-29 14:18:11

标签: c# visual-studio-2015 visual-studio-debugging

我的项目属性是

  • 构建/配置:活动(调试)
  • 构建/平台:活动(任何CPU)
  • 构建/定义DEBUG常量(已选中)
  • 构建/定义TRACE常量(已选中)

在我的代码中,我试过这个:

System.Diagnostics.Debug.AutoFlush = true;
System.Diagnostics.Debug.WriteLine(text);

和此:

System.Diagnostics.Trace.AutoFlush = true;
System.Diagnostics.Trace.WriteLine(text);

在绝望中我添加了:

#define DEBUG
#define TRACE
  • 我已打开 application.exe.config 文件,但没有< system.diagnostics> 条目。我相信这是正确的,因为M $ FT向我保证,如果启用了TRACE和DEBUG,将自动创建听众。

  • 调试器中的 Output 窗口显示“Show output from:Debug”,输出窗口的上下文菜单中选中了“Program Output”。

以上各项均来自各种StackOverflow帖子。我已经阅读了我能找到的与此问题相关的每篇文章,这是非常多的。我已经以有条不紊的方式添加和删除了我的代码中的上述元素,试图涵​​盖组合的所有可能性。是的,我已经在这几个小时了。

我在C#中使用Windows 10,VS 2015;所有非常标准的东西。

还有别的东西需要检查吗?

我不知道这是否是线索,但每次运行跟踪或调试写信时,我都会在输出窗口中看到这一点

The thread '<No Name>' (0x41d4) has exited with code 0 (0x0).

所以,我的输出窗口通常看起来像这样。

The thread '<No Name>' (0x68f4) has exited with code 0 (0x0).
The thread '<No Name>' (0x6f58) has exited with code 0 (0x0).
The thread '<No Name>' (0xc260) has exited with code 0 (0x0).
The thread '<No Name>' (0xa87c) has exited with code 0 (0x0).
The thread '<No Name>' (0x80a4) has exited with code 0 (0x0).
The thread '<No Name>' (0xdb8c) has exited with code 0 (0x0).
The thread '<No Name>' (0xad44) has exited with code 0 (0x0).
The thread '<No Name>' (0x3b88) has exited with code 0 (0x0).
The thread '<No Name>' (0xcbb4) has exited with code 0 (0x0).

起初,我认为这个输出与所有异步方法有关(我们有很多),但后来我注意到它们似乎发生在每个跟踪/调试调用上。

1 个答案:

答案 0 :(得分:0)

我只是在我身边调试一个简单的应用程序,我可以得到如下屏幕截图的结果,我可以使用VS2015获得正确的输出消息。

enter image description here

  
    

我不知道这是否是线索,但每次运行跟踪或调试写信时,我都会在输出窗口中看到这一点     线程&#39;&#39; (0x41d4)已退出代码0(0x0)。

  

我的理解是它与输出窗口设置有关,如果一个线程已经退出,代码为0,则它​​已成功运行。如果您不想收到这些消息,可以禁用它们。

参考:

The thread has exited with code 0 (0x0) with no unhanded exception

enter image description here