DebugActiveProcessStop закрывает дескрипторы? - PullRequest
0 голосов
/ 18 ноября 2018

Согласно документации , ContinueDebugEvent закроет дескрипторы после EXIT_THREAD_DEBUG_EVENT и EXIT_PROCESS_DEBUG_EVENT.

Что происходит с этими дескрипторами в следующем случае:

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

Процесс и потоки все еще будут работать, а в документации ничего не говорится о дескрипторах.Могу ли я предположить, что они будут закрыты для меня?

1 Ответ

0 голосов
/ 18 ноября 2018

да, DebugActiveProcessStop вызов CloseAllProcessHandles перед тем, как выполнить фактическую отладку с помощью вызова DbgUiStopDebugging.CloseAllProcessHandles закрыть все открытые нити и обработать дескрипторы.список хранится в потоке TEB - это означает, что вызов должен выполняться только из того же потока, который вызывает другие API отладки (например, WaitForDebugEvent).К сожалению, я также не вижу подтверждения этого в документации, только исследования.это скриншот из win10

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...