// 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文件等一起
本文详细介绍了如何在debug版程序中通过生成map和cod文件定位崩溃地址,具体步骤包括设置工程配置以产生map和cod文件,然后在map文件中查找崩溃地址对应的函数,并在cod文件中进一步定位到出错语句和操作。提供了实用的调试技巧,帮助开发者高效解决程序崩溃问题。

被折叠的 条评论
为什么被折叠?



