如何在程序停止之前使Visual Studio中断?

时间:2011-09-14 12:52:59

标签: visual-studio debugging

好的,我在Visual Studio 2008中尝试调试这个多线程C ++程序。

有时(通常在一到两个小时的计算之后的随机时间之后),程序停止,在调试窗口中写入后退出调试模式:

The thread 'Win32 Thread' (0x1560) has exited with code 3 (0x3).
The thread 'Win32 Thread' (0x5fc) has exited with code 3 (0x3).
...

所有涉及的线程等等。

AFAIK退出代码3表示某些内容失败,我希望VS拦截异常并打破它,这样我就可以尝试查看错误是什么以及导致错误的原因。

我尝试在visual studio Debug菜单中激活所有异常捕获,但它没有改变任何东西。

当有异常退出时,有没有办法告诉VS我想休息一下?

1 个答案:

答案 0 :(得分:11)

我的猜测:你正在遇到断言失败并且CRT无法创建消息窗口(出于某种原因)。这导致退出(3)呼叫。我不确定是否会使用该退出代码终止所有线程。一旦出现问题,也许你的所有线程都以同样的方式失败。

尝试在程序开头添加_CrtSetReportMode调用,以强制断言失败消息到调试器中的输出窗口。然后,您应该在一系列线程退出消息之前的调试输出窗口中看到断言失败的详细信息。

相关问题