当我点击X按钮关闭一个程序(说它是MYAPP)时,弹出一个对话框说:
MYAPP已停止工作
Windows可以在线查看问题的解决方案。"
但实际上应用程序已经退出。
错误信息:
Problem signature:
Problem Event Name: APPCRASH
Application Name: MYAPP.EXE
Application Version: 1.0.0.0
Application Timestamp: 56a8dfa8
Fault Module Name: MSVCP90D.dll
Fault Module Version: 9.0.30729.6161
Fault Module Timestamp: 4dace5bf
Exception Code: c0000005
Exception Offset: 00007b3f
OS Version: 6.3.9600.2.0.0.272.7
Locale ID: 3081
Windows如何检测程序是否已停止工作"?它是否表明应用程序抛出异常或死锁?
答案 0 :(得分:1)
Windows错误报告(WER)将捕获未处理的异常。它不会陷入僵局。当程序“停止工作”时弹出的那个对话框是一个WER崩溃转储(或者它与MS服务器通信以查看是否要进行崩溃转储等)。
有几种方法可以调试崩溃的程序,这些程序是经过验证的(尽管是艰巨的)。其中一些包括:
在这种情况下使用WER,您可以打开本地故障转储,然后,只要您拥有符号数据库(pdb)文件,就可以从本地故障转储进行调试。您可以在Collecting User-Mode Dumps处了解有关进行本地故障转储的更多信息。