不幸的是,由于某种原因,我无法理解,我一直无法windbg承认我的扩展。不能得到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的自由,并期待在出口,那里是:“帮助”。我一直试图弄清楚这几个小时。任何帮助你可以提供将非常感激。非常感谢。
你看在所依赖的DLL?即使使用extern“C”,一些调用约定也会轻微地改变名称。 – Benj
非常感谢!你真了不起!它将我的“帮助”转换为“_help @ 8”。你有什么想法如何解决这个问题? .def文件会诀窍!?谢谢,非常感谢!编辑:如果您将其转换为答案,我会接受并注册它:p – niemiro
是的,.def文件通常是答案。 – Benj