dbgeng—在c+中加载扩展DLL+;?

dbgeng—在c+中加载扩展DLL+;?,dll,load,windbg,dbgeng,Dll,Load,Windbg,Dbgeng,我已经编写了一个应用程序,其中我使用dbgeng.dll加载了一个系统范围的崩溃转储。我想使用一些WinDbg命令,如(!vad)-为此,我需要其他dll,如exts.dll、ext.dll、kext.dll、kexts.dll。我有所有这些DLL,并正确设置了调试程序扩展路径。当我使用WinDbg GUI-.chain命令时,会告诉我所有这些DLL都已加载,但当我尝试从代码中加载时,我看不到这些DLL已加载。另外,当我尝试使用Execute(.load…)加载这些DLL时,它会抛出一个错误-“

我已经编写了一个应用程序,其中我使用dbgeng.dll加载了一个系统范围的崩溃转储。我想使用一些WinDbg命令,如(!vad)-为此,我需要其他dll,如exts.dll、ext.dll、kext.dll、kexts.dll。我有所有这些DLL,并正确设置了调试程序扩展路径。当我使用WinDbg GUI-.chain命令时,会告诉我所有这些DLL都已加载,但当我尝试从代码中加载时,我看不到这些DLL已加载。另外,当我尝试使用Execute(.load…)加载这些DLL时,它会抛出一个错误-“调用LoadLibrary(“…”)失败,Win32错误0n193”。我试过了!同样加载-它们在我的代码中都不起作用。但在GUI中,一切都可以完美地工作。我无法计算如何在C++代码中加载所有这些DLL。 谁能帮我一下吗? 我非常感谢你的帮助


-arb

错误193如果出现错误193,通常意味着您试图在32位应用程序中加载64位dll(反之亦然)


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

使用所有windbg命令。谢谢john。我试图强制从该文件夹加载dll,但它仍然从系统文件夹加载,这是我不想要的。如果我在代码中使用SetDllDirectory。。该dll仍从系统目录加载。。。由于在设置dll目录之前加载了dll-您对此有任何解决方案吗?使用LoadLibrary动态加载它,并使用GetProcAddress获取DebugCreate.John,我正在尝试使用dbgeng.dll(64位)调试Windows server 2008 R2中的32位win7崩溃转储。我在使用符号文件时遇到问题。每当我这样做!vad——它无法读取vad树,因为它无法找到符号,尽管我已将ntdll.pdb和ntkrpamp.pdb从VM复制到服务器的本地目录,并指向它。你知道会有什么问题吗?我非常感谢你的帮助。谢谢