2016-01-28 19 views
0

当我按下X键关闭程序(说它是MYAPP),一个对话框弹出说:Windows如何检测程序是否“停止工作”?

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

那么,在这种特殊情况下,原因很简单:异常0xc0000005,这是一个内存访问冲突。 –

+0

@HarryJohnston有没有办法让程序在内存访问冲突点中断并启动Visual Studio? – Deqing

+0

如果安装了Visual Studio,Windows通常会提供调试程序。但是,如果由于某种原因无法正常工作,则可以在Visual Studio调试器中明确运行它。 –

回答

0

Windows错误报告(WER)将捕获未处理的异常。它不会陷入僵局。程序“停止工作”时弹出的对话框是WER崩溃转储(或与MS服务器通信以查看是否要执行崩溃转储等)。

调试崩溃程序的方法有几种,尝试过并且是真的(尽管很艰难)。其中一些包括:

  • 使用GFlags推出Visual Studio或WinDbg的
  • 包括在程序代码中启动调试程序

在这种情况下,与WER,你可以打开本地崩溃转储,然后,只要具有符号数据库(pdb)文件,就可以从本地故障转储进行调试。您可以阅读更多关于在Collecting User-Mode Dumps处进行本地故障转储的信息。

相关问题