检测终止挂起的应用程序

时间:2009-03-19 17:21:24

标签: windows debugging freeze hung

我创建了一个运行和调试进程的最小调试循环。

当进程挂起并且用户试图关闭它时,Windows会在消息框中显示等待或结束的选项。我想尝试检测它们何时命中结束,因此我的调试器可以收集相关信息。但是,我似乎无法弄清楚如何检测这种情况。线程和进程退出代码保持为0.有一次我认为它们返回0xCFFFFFFF,但不再发生。

或者,可能有一些注册表项可以修改为在应用程序关闭后运行此调试器,如Dr. Watson。也许它只是我的机器,但我似乎无法在关闭挂起的应用程序时启动调试器(VS JIT调试,Dr. Watson等)。

我知道这一定是可能的,因为我之前看过HUNGAPP转储。

感谢您的任何信息!

2 个答案:

答案 0 :(得分:1)

关于该主题有一个msdn blog series,它描述了Windows如何处理崩溃。

答案 1 :(得分:0)

您可以使用WinDbg运行您的应用程序,并在应用程序挂起时为您生成转储文件。