VS通过.map文件查找异常代码的位置
一、配置VS
1.配置禁用优化
![](https://img.haomeiwen.com/i2042197/f564385b9e9503e7.png)
2.配置生成汇编代码
![](https://img.haomeiwen.com/i2042197/02b2c0e213f0ed85.png)
3.配置生成MAP文件
![](https://img.haomeiwen.com/i2042197/a6c213b1609eb92f.png)
二、查找崩溃代码位置
1.查看崩溃异常偏移
![](https://img.haomeiwen.com/i2042197/dff125346eddd5c5.png)
此处异常偏移为000019c3
2.查看程序加载地址
![](https://img.haomeiwen.com/i2042197/8b09e5309ba322d6.png)
3.对照.MAP文件,查找第一处大于程序加载地址(00400000)+异常偏移(000019c3)的位置
![](https://img.haomeiwen.com/i2042197/c8ec4ebea458b209.png)
004019e0是第一处大于004019c3的位置,那么崩溃就位于CTestHtmlDlg类OnButtonOk函数中,
4.查看TestHtml.cod
![](https://img.haomeiwen.com/i2042197/ad5d88815c60afd3.png)
崩溃代码位于OnButtonOK函数
00000+(004019c3-004019b0)=00013的位置
注意部分函数起始地址不是00000;
可以看出*p=0为崩溃代码。
网友评论