看雪上有人问如何让OD识别C语言库函数,特别是Release版本的。在楼下的回复中看到有人提到用IDA产生MAP文件,然后在OD-CPU窗口右键用LoadMapEx加载Map即可。
出于好奇,我用OD加载Release版本的测试程序:
#include <stdio.h>
int _tmain(int argc, _TCHAR* argv[])
{
int i;
fopen("c:\\1.txt","r+b");
printf("_tmain\n");
scanf("%d",&i);
return 0;
}
由于没有调试符号,反汇编窗口的注释栏部分并没有什么有用的注释信息,即使启用分析功能后(反汇编窗口右键-分析-分析代码),情况没有改善:
但是,用LoadMapEx加载工程生成的MAP文件后,反汇编窗口中出现了大量注释信息:
挺强大的一个工具,在没有pdb的情况下生成这么多调试信息,可以算得上黑夜中的星光了。
虽然,实际情况下可能没有MAP文件,但网上有些大神用OD加载IDA生成MAP文件进行动态调试,参见: