VS中通过map文件找到崩溃的代码行

       当程序崩溃后,出现如下情况,如图一,则能通过MAP文件来查找崩溃的代码位置 。  

       图一:

VS中通过map文件找到崩溃的代码行    VS中通过map文件找到崩溃的代码行

     

       一.首选要定位到底哪个DLL或者EXE出现问题,好比是一个DLL,则在VS里面改它的配置  ,如图: 

      1.C/C++->输出文件:

   VS中通过map文件找到崩溃的代码行


       2.链接器->调试:

    VS中通过map文件找到崩溃的代码行

  

            二.上面两处配置修改好后,重新编译生成,则会再输出文件夹下生成Test.map文件,打开文件,如图:

   VS中通过map文件找到崩溃的代码行

     

             三.用Test.map中的起始地址加上图一中的“异常偏移”,得到出问题的地址,Test.map文件中,在“Rva+Base”列下,找出这个地址的区间,出问题的为小于等于这个地址的地方:

VS中通过map文件找到崩溃的代码行


参考:http://blog.sina.com.cn/s/blog_141f234870102van8.html