我创建了一个运行和调试进程的最小调试循环。
当进程挂起并且用户试图关闭它时,Windows会在消息框中显示等待或结束的选项。我想尝试检测它们何时命中结束,因此我的调试器可以收集相关信息。但是,我似乎无法弄清楚如何检测这种情况。线程和进程退出代码保持为0.有一次我认为它们返回0xCFFFFFFF,但不再发生。
或者,可能有一些注册表项可以修改为在应用程序关闭后运行此调试器,如Dr. Watson。也许它只是我的机器,但我似乎无法在关闭挂起的应用程序时启动调试器(VS JIT调试,Dr. Watson等)。
我知道这一定是可能的,因为我之前看过HUNGAPP转储。
感谢您的任何信息!
答案 0 :(得分:1)
关于该主题有一个msdn blog series,它描述了Windows如何处理崩溃。
答案 1 :(得分:0)
您可以使用WinDbg运行您的应用程序,并在应用程序挂起时为您生成转储文件。