如何在VC++中获取函数的真实地址

Bab*_*Cat 2 windows winapi dllimport visual-c++

我正在学习Win32API.我的程序有两个功能.我尝试在VC++中使用调试模式.我在调用dumy函数时设置了一个断点

void CALLBACK Dummy(){

    printf("\n Hello Dummy Func!");
}

//////////////////////////////////////////////////////////////////////////

int _tmain(int argc, _TCHAR* argv[]){

      (breakPoint) Dummy();
}
Run Code Online (Sandbox Code Playgroud)

当我调用dumy()函数时.程序跳转到地址012110D7作为流程代码

Dummy:
012110D7  jmp         Dummy(12113A0h) 
Run Code Online (Sandbox Code Playgroud)

虚拟函数的实际地址是12113A0h我的问题是如何获取虚函数的实际地址是12113A0h当我在发布模式下运行时问题解决了.这是我第一次加入StackOver流程.我希望每个人都能帮助我.谢谢 !!BUZZ

Han*_*ant 5

链接器插入此jmp指令以支持Debug配置中的Edit + Continue.这允许您在调试时编辑和编译代码.通过jmp指令的额外间接允许生成函数的不同版本,更改jmp目标以使更改有效.

使用Project + Properties,Linker,General,Enabled Incremental Linking = No,关闭编辑并继续关闭.