根据the documentationContinueDebugEvent将在EXIT_THREAD_DEBUG_EVENTEXIT_PROCESS_DEBUG_EVENT之后关闭手柄。
在以下情况下,这些句柄会发生什么情况:

DebugSetProcessKillOnExit(FALSE); // Keep the process running after stopping the debugger.
DebugActiveProcessStop(dwProcessId);

进程和线程仍在运行,the documentation没有提到任何句柄。我能假设他们会为我关门吗?

最佳答案

是的,DebugActiveProcessStop在通过CloseAllProcessHandles调用实际停止调试之前调用DbgUiStopDebugging。关闭所有打开的线程和进程句柄。它列表存储在线程CloseAllProcessHandles中-这意味着调用只能从调用其他调试api的同一线程执行(例如TEB)。不幸的是,我也没有在文献中看到这一点的证实,只是研究。这张win10的截图
windows - DebugActiveProcessStop是否关闭句柄?-LMLPHP

关于windows - DebugActiveProcessStop是否关闭句柄?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53363884/

10-13 07:16