'Stop Debugging' 在 windbg 中以编程方式做什么?

What does 'Stop Debugging' do programmatically in windbg?

我尝试复制打开转储后由 windbg 完成的清理,分析它然后 'Stop Debugging'。

当我尝试在自己的程序中执行此操作时,我泄漏了很多内存。 我释放了我拥有的 com 接口 addref:ed 并调用了 SymCleanup,但这不会取消映射加载的图像或释放由 dbgeng 分配的内存。

DDK 中提供的示例在这里似乎没有提供更多信息。 这里有什么秘诀吗?

我想要一个演示打开和关闭转储文件的示例,包括加载相应的图像和符号,而不会泄漏资源。

IDebugClient::EndSession(DEBUG_END_PASSIVE) 按照@blabb 的建议解决了问题。