2013-02-19 41 views
3

有沒有什麼辦法可以檢測Windows 7中的進程崩潰?只是爲了澄清每個進程崩潰的窗口創建WERfault.exe(Windows錯誤報告)。我有驅動程序通過使用內核的現有內核回調機制來監視系統,該機制在發生某個進程事件(使用PsSetCreateProcessNotifyRoutine)時通知我的驅動程序 。問題是我看到由svchost.exe創建的WERfault.exe,但我找不到解決哪個進程崩潰的方法。檢測進程崩潰 - C++代碼

+1

你想解決什麼*問題*可能有一種更優雅的(並且更脆弱的)解決方法,它不涉及werfault.exe並試圖通過解析參數和whatnot來調用它的原因。 – 2013-02-19 19:57:24

+0

當進程崩潰時,werfault.exe不會啓動調試器嗎?也許你可以在調試器進程中遍歷打開的句柄,並找到它正在調試的進程。 – Gogeta70 2013-02-19 21:53:29

+0

Nik Bougalis - 我試圖監視一些系統並給出一些事件報告。其中一個事件是檢測到事件崩潰。 – 2013-02-20 08:23:23

回答

1

將您的應用程序設置爲automatic debugger。如果你想提供通常的UI,這可以在真正的WER上傳遞事件。

+0

感謝您的回答。當將我的應用程序設置爲autodebug時,werfaulf會創建它,並且一個參數是進程的名稱(如何崩潰)。謝謝您的幫助 。 – 2013-02-20 11:33:51

1

- >有沒有什麼辦法來檢測Windows 7中的進程崩潰?

是的,你可以使用AdPlus腳本,可以使用命令行。 它可以使用windbg去爲文檔,我認爲它可以解決您的問題。 Adplus將所有進程內存轉儲到文件中。