根据the documentation,ContinueDebugEvent
将在EXIT_THREAD_DEBUG_EVENT
和EXIT_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是否关闭句柄?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53363884/