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

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

利用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

PC软件崩溃定位方式-系统日志 PC软件崩溃定位方式-系统日志.基本步骤:1、查看WINDOWS事件日志,收集应用错误信息。2、准备windbg环境。3、定位代码位置。 阅读详情

相关推荐

Windows 本地安装 OpenClaw(龙虾)完整教程(纯净无广告)

《Windows系统OpenClaw本地AI网关安装指南》 本文提供Windows 10/11系统下OpenClaw(龙虾)AI网关的完整部署教程,包含: 环境配置:Node.js安装验证 核心安装:npm全局部署OpenClaw 模型对接:以DeepSeek为例配置API 扩展功能:飞书机器人集成方法 日常管理:启停命令/Web面板访问 卸载清理:完整移除服务与残留 教程涵盖初始化配置、技能管理、常见问题排查,特别说明管理员权限要求及飞书配对流程,适合新手30分钟内完成本地AI网关搭建。通过命令行操作与W

qiuxunbin_csdn的博客 613

调试Release发布版程序的Crash错误

原文:http://www.cppblog.com/woaidongmao/archive/2011/05/10/146092.html 把上述原文整理成一篇的地址:http://blog.sina.com.cn/s/blog_48f93b530100fsln.html 在Windows平台下用C++开发应用程序,最不想见到的情况恐怕就是程序崩溃,而要想解决引起问题的bug,最困难的应该就是调

yh880的专栏 1039

#Linux内存管理# 用一个案例详细介绍ARMv7-A架构 缺页中断处理的原理

跳转到异常向量:根据 异常向量表基地址(通常配置在 VBAR 寄存器中,例如 0xFFFF0000) + 数据中止异常的偏移量 0x10,跳转到数据中止异常的处理程序入口点 0xFFFF0010(实践中,这个入口通常是一条跳转到更复杂处理函数的指令)。malloc 通常不会立即分配物理内存页,它只是在内核为该进程维护的虚拟地址空间中找到一段足够大的空闲虚拟地址区域(比如 0x00008000 - 0x00008FFF),标记为已用,并返回起始地址(例如 0x00008000)给程序。

sinat_37817094的博客 981

C++开发的应用程序崩溃时生成Dump文件分析(附Demo)

  Dump 文件是进程的内存镜像 , 可以把程序的执行状态通过调试器保存到dump文件中 ; Dump 文件是用来给驱动程序编写人员调试驱动程序用的 , 这种文件必须用专用工具软件打开 , 比如使用 WinDbg , VisualStudio打开;   当我们的程序发布出去之后 , 在客户机上是无法跟踪自己代码的 BUG 的 , 所以 Dump 文件对于我们来说特别有用 ; 我们可以通过 .dmp 文件把出现 BUG 的情况再现 , 然后再现客户环境 (包括堆栈调用等情况) , 设置源码调试路径 , 可以

jw2016的博客 4745

调试技巧 —— 如何利用windbg + dump + map分析程序异常

之前碰到论坛里有几个好友,说程序不时的崩溃,什么xxoo不能read的!  如果光要是这个内存地址,估计你会疯掉~~ 所以分享一下基本的调试技巧,需要准备的工具有WinDbg + VC6.0, 下面是自己整理的一份自动生成DUMP文件的源代码,只需要添加到工程即可,源代码如下: MiniDump.h MiniDump.cpp 1、在CXXDlg::OnIni

wangluozhangleilei的专栏 1万+

VC下发布的Release版程序的异常捕捉

寻找Release版程发生异常退出的地方比Debug版麻烦得多。发生异常的时候windows通常会弹出一个错误对话框,点击详细信息,我们能获得出错的地址和大概的出错信息,然后可以用以下办法分析我们的程序。  一. 用MAP文件定位异常代码位置。1.如何生成map文件打开“Project →Project Settings”,选择 C/C++ 选项卡,在“Debug Info”栏选择

WLV的专栏 5701

VS2005(vs2008,vs2010)使用map文件查找程序崩溃原因

LINUX 编程 2010-06-23 22:44:10 阅读263 评论0 字号:大中小 订阅 看到网上说在debug下可以找到预料的崩溃地址行,但是实际上没有什么用呀。(既然在debug下,那直接用调试器找不更好吗? 费这么大劲干什么)(转的文章在后面) Release版本(指编译器优化后的),要找崩溃地址行就比较费劲了。 linux下的方法: 1、使之生成core dump文件 2、gdb调试该core文件 3、根据大概的堆栈信息,运行disassemble (具体用法见gdb帮助) 4、根据崩溃地址

luxiaoyu_sdc的专栏 1万+

基于VS2010 开发的Release版本软件异常崩溃后快速定位bug相关方法

方法: 使用.map以及.cod定位bug(暴力崩溃) 使用.dmp定位bug(优雅崩溃) 注意事项:在最后面^_^。 完整项目源码请点击这里! 一.使用.map以及.cod定位bug(暴力崩溃) 首先介绍在软件异常崩溃后如何使用.map以及.cod定位bug。 需要进行的工程项目属性配置: xxx属性->配置属性->C/C++->输出文件->汇编程序输...

tormi21c的博客 2581

CC++定位崩溃代码行的方法

如何根据异常提示信息找出程序出错代码 LINUX 编程 2010-06-23 22:44:10 阅读136 评论0 字号:大中小订阅 看到网上说在debug下可以找到预料的崩溃地址行,但是实际上没有什么用呀。(既然在debug下,那直接用调试器找不更好吗? 费这么大劲干什么)(转的文章在后面)Release版本(指编译器优化后的),要找崩溃地址行就比较费劲了。linux下...

aolan7349的博客 878

QCreator + VS2010 生成MAP文件COD文件

参考:http://blog.csdn.net/gwzz1228/article/details/9045853 需要在Pro文件里添加 win32:contains(QMAKE_CC, cl){ QMAKE_CXXFLAGS -= -Zc:wchar_t- QMAKE_CXXFLAGS += -Zc:wchar_t QMAKE_CXXFLAGS += -FAc

guomingbing12的专栏 2528

win7+vs2010通过map文件cod文件找到崩溃代码行

用来演示出错的源代码: #include "stdio.h" void errorFun(int * p)    {    *p=1;    }    int main()    {    int * p=NULL;    errorFun(p);    return 0;    }  工程选项设置:  

xiapang009的专栏 661

在知道崩溃函数偏移地址的情况下,如何定位函数名和行号

 利用mapcod文件定位崩溃代码行 利用vs2010 新建一个空的控制台项目,添加文件gtg.cpp,内容如下 void crash() {          inti=1;          intj=0;          i/=j; } int main() {          crash();          

qq51931373的专栏 6990

反汇编定位代码崩溃位置_3

原帖:http://blog.sina.com.cn/s/blog_141f234870102van8.html win7+vs2010通过map文件cod文件找到崩溃代码行   (2015-01-11 11:31:04) 转载▼   分类: C 用来演示出错的源代码: #include "stdio.

2129
上一篇: 如何在项目中使用ffmpeg 静态库
下一篇: Unicode和UTF-8之间的关系
caiyuanfa
博客等级 码龄19年 2粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值