2010-04-07 17 views
2

我想在沒有通知調試器的情況下終止一個暫停的調試過程時檢測。 (例如,在控制檯應用程序中進入斷點,並關閉應用程序的控制檯窗口。)進程進入類似殭屍狀態,直到調試器釋放暫停後才能與進程進行交互。NtQueryInformationProcess用於檢測不死進程的替代方法?

當通過NtQueryInformationProcess收集關於進程的信息時,此狀態似乎設置了PROCESS_EXTENDED_BASIC_INFORMATION :: IsProcessDeleting標誌,但標誌,結構和函數都未被有效地記錄並在MSDN上標記爲「不使用」。

測試此標誌是否可靠?有更好的,我可以使用的「官方」API嗎?

(是的,我知道IsProcessDeleting也會置過程(驚訝,意外)關閉正常,這是不是從我的角度看問題。)

回答

2

不,不,我可以看到。 NtQueryInformationProcess不會很快消失,但如果該功能被刪除,則會有數百個應用程序被破壞。

相關問題