不幸的是,由于某种我无法理解的原因,我无法让 windbg 识别我的扩展。
#ifndef EXPT_API
#define EXPT_API __declspec(dllexport)
#endif
extern "C" EXPT_API HRESULT CALLBACK help(PDEBUG_CLIENT Client, PCSTR args)
{
IDebugControl* Control;
IDebugSymbols* Symbols;
DebugCreate(__uuidof(IDebugClient),(void **)&Client);
Client->QueryInterface(__uuidof(IDebugControl), (void **)&Control);
Client->QueryInterface(__uuidof(IDebugSymbols), (void **)&Symbols);
// TODO: Extension code goes here:
Control->Output(DEBUG_OUTPUT_NORMAL, "A sample help message.");
return S_OK;
}
这一切都编译得很好,但是,每当我尝试从 windbg 加载扩展时,我都会得到:
!Extension.help
No export help found
我将我的 .dll 加载到 IDA Pro Free 中,然后查看导出,它是:“帮助”。几个小时以来,我一直试图弄清楚这一点。您能提供的任何帮助将不胜感激。非常感谢。