dbgeng - 在c ++中加载扩展dll?

时间:2011-05-12 10:43:09

标签: dll load windbg dbgeng

我编写了一个应用程序,其中使用dbgeng.dll加载一个系统范围的崩溃转储。我想使用一些像(!vad)这样的WinDbg命令 - 因为我需要其他dll,如exts.dll,ext.dll,kext.dll,kexts.dll。我有所有这些dll并正确设置了_NT_DEBUGGER_EXTENSION_PATH。当我使用WinDbg GUI时,.chain命令告诉我所有这些dll都已加载但是当我尝试从我的代码中执行时 - 我看不到这些dll被加载。此外,当我尝试使用Execute(.load ....)加载这些dll时 - 它会抛出一个错误 - “调用LoadLibrary('...')失败,Win32错误0n193”。我试过了!加载 - 它们都在我的代码中不起作用。但是一切都在GUI中完美运行。我无法弄清楚如何在我的c ++代码中加载所有这些dll。

有人可以帮帮我吗? 我真的很感谢你的帮助!

-arb

1 个答案:

答案 0 :(得分:0)

错误193如果收到错误193通常意味着您尝试在32位应用程序中加载64位dll(反之亦然)。

确保从安装windbg的同一目录加载dbgeng.dll。然后,您将能够通过IDebugControl::Execute

使用所有windbg命令