【发布时间】:2013-02-04 15:29:53
【问题描述】:
有什么方法可以检测 Windows 7 中的进程崩溃? 澄清一下,在每个进程崩溃时,windows 都会创建 WERfault.exe(windows 错误报告)。我有驱动程序通过使用内核的现有内核回调机制来监视系统。回调通知我 当某个进程事件发生时驱动程序(使用 PsSetCreateProcessNotifyRoutine)。 问题是我看到了由 svchost.exe 创建的 WERfault.exe,但我找不到解决哪个进程崩溃的方法。
【问题讨论】:
-
您要解决什么问题?可能有一种更优雅(且不那么脆弱)的解决方法,它不涉及监视 werfault.exe 并试图通过解析参数等来找出它被调用的原因。
-
当进程崩溃时,werfault.exe 不会启动调试器吗?也许您可以遍历调试器进程中打开的句柄并找到它正在调试的进程。
-
Nik Bougalis - 我正在尝试监控一些系统并报告一些事件。其中一个事件是检测 procss 崩溃。
-
@Gogeta70 - 你是对的,在这些情况下(dr watson,windbg 等)启动了调试器,但只有在用户交互之后。 werfault 询问您要做什么并启动调试器。我没有任何用户交互,我的系统是自动的。
-
@NikBougalis - 我正在尝试监控一些系统并报告一些事件。其中一个事件是检测 procss 崩溃。
标签: c++ winapi windows-7 windows-kernel