vs2010利用map,cod文件定位崩溃代码行

本文介绍了如何利用Visual Studio 2010生成的map和cod文件来定位程序崩溃的具体代码行。通过设置项目属性生成映射文件和汇编程序输出,当程序崩溃时,根据异常模块名称和异常偏移,可以在map文件中找到异常代码所在函数,再结合cod文件确定具体行数,从而快速定位问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

利用map,cod文件定位崩溃代码行

利用vs2010 新建一个空的控制台项目,添加文件gtg.cpp,内容如下

void crash()

{

         inti=1;

         intj=0;

         i/=j;

}

int main()

{

         crash();

         return0;

}

配置生成map及cod文件

项目-》属性-》连接器-》调试-》生成映射文件-》是 (/MAP)

项目-》属性-》c/c++-》输出文件-》汇编程序输出-》程序集、机器码和源代码 (/FAcs)

然后将增量编译关闭,否则会连接错误;

编译生成项目,运行,出现如下异常窗口

 

其中的故障模块名称及异常偏移是关键信息,

从异常模块名称 ddd.exe 我们知道问题代码应在ddd.map中

ddd

 

 Timestamp is 5145d550 (Sun Mar 17 22:38:082013)

 

 Preferred load address is 00400000

 

 Start        Length     Name                   Class

 0001:00000000 00001b3cH .text                   CODE

 0002:00000000 000000e0H .idata$5                DATA

 0002:000000e0 00000004H .CRT$XCA                DATA

 0002:000000e4 00000004H .CRT$XCAA               DATA

 0002:000000e8 00000004H .CRT$XCZ                DATA

 0002:000000ec 00000004H .CRT$XIA                DATA

 0002:000000f0 00000004H .CRT$XIAA               DATA

 0002:000000f4 00000004H .CRT$XIY                DATA

 0002:000000f8 00000004H .CRT$XIZ                DATA

 0002:00000100 000009d0H .rdata                  DATA

 0002:00000ad0 00000036H .rdata$debug            DATA

 0002:00000b10 00000004H .rdata$sxdata           DATA

 0002:00000b14 00000004H .rtc$IAA                DATA

 0002:00000b18 00000004H .rtc$IMZ                DATA

 0002:00000b1c 00000004H .rtc$IZZ                DATA

 0002:00000b20 00000004H .rtc$TAA                DATA

 0002:00000b24 00000004H .rtc$TMZ                DATA

 0002:00000b28 00000004H .rtc$TZZ                DATA

 0002:00000b30 0000009

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值