通过map定位异常错误崩溃的代码行

VS通过.map文件查找异常代码的位置

一、配置VS

1.配置禁用优化

image.png

2.配置生成汇编代码


image.png

3.配置生成MAP文件


image.png

二、查找崩溃代码位置

1.查看崩溃异常偏移


image.png

此处异常偏移为000019c3

2.查看程序加载地址


image.png

3.对照.MAP文件,查找第一处大于程序加载地址(00400000)+异常偏移(000019c3)的位置


image.png

004019e0是第一处大于004019c3的位置,那么崩溃就位于CTestHtmlDlg类OnButtonOk函数中,

4.查看TestHtml.cod


image.png

崩溃代码位于OnButtonOK函数

00000+(004019c3-004019b0)=00013的位置

注意部分函数起始地址不是00000;

可以看出*p=0为崩溃代码。