我想检测何时有人在不通知调试器的情况下终止了暂停的调试进程。(例如,到达控制台应用程序中的断点,然后关闭应用程序的控制台窗口。)该进程进入类似僵尸的状态,并且在调试器释放其保留之前无法进一步交互。
当通过 NtQueryInformationProcess 收集有关进程的信息时,此状态似乎设置了 PROCESS_EXTENDED_BASIC_INFORMATION::IsProcessDeleting 标志,但标志、结构和函数实际上都没有记录在 MSDN 上并标记为“不使用”。
测试这个标志可靠吗?我可以使用更好的“官方”API吗?
(是的,我知道 IsProcessDeleting 也会在进程正常关闭时(惊喜,惊喜)设置。从我的角度来看,这不是问题。)