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

一、配置VS

1.配置禁用优化

20160615160918075

2.配置生成汇编代码

20160615161044775
3.配置生成MAP文件

20160615161214183

二、查找崩溃代码位置

1.查看崩溃异常偏移

20160615163903361

此处异常偏移为000019c3

2.查看程序加载地址

20160615162759410

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

20160615164114073

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

4.查看TestHtml.cod

20160615165346102

崩溃代码位于OnButtonOK函数

00000+(004019c3-004019b0)=00013的位置
注意部分函数起始地址不是00000;

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