Что "Stop Debugging" делает программно в windbg?

Я пытаюсь повторить очистку, выполняемую windbg после открытия дампа, анализа его и затем "Stop Debugging".

Когда я пытаюсь сделать это в моей собственной программе, я теряю много памяти. Я освобождаю com-интерфейсы, которые у меня есть addref: ed, и вызываю SymCleanup, но это не отменяет отображение загруженных изображений и не освобождает память, выделенную dbgeng.

Образцы, представленные в DDK, похоже, не дают больше информации здесь. Здесь есть какой-нибудь секретный соус?

То, что я хотел бы, является примером, демонстрирующим открывающие и закрывающие файлы дампа, включая загрузку соответствующих изображений и символов, без утечки ресурсов.

1 ответ

Решение

IDebugClient::EndSession(DEBUG_END_PASSIVE), предложенный @blabb, решил проблему.

Другие вопросы по тегам