本文主要是介绍利用map和cod文件查出崩溃代码行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
运行debug版程序,出错信息如下:1.可知出错地址为0x00413202.
在map文件中搜索00413:
2.找到比0x00413202小的最大的是 0x4131e0 ,函数名是crashtest.
3.崩溃地址相对函数地址的偏移是0x00413202-0x4131e0=0x22
在该函数所在cod文件中查找crashtest函数:
4.然后看0x22行
5.可知出错语句甚至出错操作
----------------------------------------
要产生map和cod文件需在debug的工程设置作点改动,以vs2008为例:
1.设置linker-debugging-Generate Map File 为 YES.
2.设置C/C++-Output Files-Assembler Output 为 Assembly, Machine Code and Source (/FAcs)
注意:cod文件在编译临时文件夹中,和obj文件等一起
这篇关于利用map和cod文件查出崩溃代码行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!