我创build了一个运行和debugging进程的最小debugging循环。
当进程挂起并且用户试图closures它时,Windows会给消息框提供等待或结束的选项。 我想尝试检测什么时候结束,所以我的debugging器可以收集相关的信息。 但是,我似乎无法弄清楚如何检测这种情况。 线程和进程退出代码保持在0.在一个点我以为他们返回0xCFFFFFFF,但不再发生。
或者,也许有一些registry项可以修改,以在应用程序closures后运行此debugging器,如Dr. Watson。 也许这只是我的机器,但我似乎无法得到一个debugging器(VS JITdebugging,沃森博士等)closures一个挂起的应用程序时启动。
我知道这一定是可能的,因为我之前看到过HUNGAPP的转储。
感谢您的任何信息!
有一个有关该主题的MSDN博客系列 ,其中描述了Windows如何处理崩溃。
你可以运行你的应用程序与WinDbg相同的目的,当应用程序挂起它为您生成转储文件。