原文:如何定位Release 版本中程序崩溃的位置 ---利用map文件 拦截windows崩溃函数

案例描述 作为Windows程序员,平时最担心见到的事情可能就是程序发生了崩溃 异常 ,这时Windows会提示该程序执行了非法操作,即将关闭。请与您的供应商联系。呵呵,这句微软的 名言 ,恐怕是程序员最怕见也最常见的东西了。 在一个大型软件的测试过程中,初期出现程序崩溃似乎成了不可避免的事。其实测试中出现程序崩溃并不可怕,反而是测试的成功。作为开发的我们更需要关心的是程序中的哪个函数或哪一行导 ...

2014-10-13 23:11 0 3127 推荐指数:

查看详情

dump文件定位程序崩溃代码行

1.dump文件 2.程序对应的pdb 步骤一:安装windbg 步骤二:通过windbg打开crash dump文件 步骤三:设置pdb文件路径,即符号表路径 步骤四:运行命令!analyze -v,这是windbg提供的一个自动分析命令,正常情况下,会显示出导致崩溃的行为,其所在文件 ...

Wed Dec 30 02:45:00 CST 2015 0 3512
windows程序崩溃生成dump文件

第一种: 通过任务管理器:这种适用在程序挂了(crash)的时候进程还未退出,比如我运行程序,出现了下面的错: 此时打开任务管理器,右击相应进程,点击"Create Dump File“: 一会创建完成: 然后把这个DMP文件拷到开发机器上,用VS打开: 会出现下面的界面,要想 ...

Sat Feb 11 06:30:00 CST 2017 0 10474
Debug不崩溃Release版本崩溃的一种原因

今天有一个工程Debug是正常,Release崩溃,郁闷至极。 研究了一下下午,原因是一个类成员变量没有构造函数中初始化。而Debug版本正好没有问题。 所以定义类成员,一定不能忘记初始化!! ...

Thu Jun 16 06:58:00 CST 2016 0 1586
(Windbg调试二)Windows下c++程序崩溃问题定位

Windows下c++程序崩溃问题定位 一,WinDbg调试 二,地址偏移计算验证 三,通过map文件定位程序崩溃代码行数 Windows下c++程序崩溃问题定位主要依赖于代码编译过程中生成的调试信息文件,比如.map和.pdb ...

Sat Feb 06 22:12:00 CST 2021 0 455
利用Android的崩溃日志来定位问题

之前项目打包混淆的时候,都没有留下什么有意义的文件,导致运营那边反馈过来的崩溃日志(最典型的就是Google Play), 都没有好好利用,因为里面的日志很多都是混淆过的类、方法与变量,很难定位问题。 最近发现了: 只要在混淆的时候,加入以下的命名,就可以生成一个类、方法与变量的混淆 ...

Thu Aug 30 21:20:00 CST 2012 2 6144
Windows 程序 dump 崩溃调试

Windows 程序捕获崩溃异常 生成dump 概述 事情的起因是,有个同事开发的程序,交付的版本程序,会偶尔随机崩溃了。 悲催的是没有输出log,也没有输出dump文件。 我建议他给程序代码加个异常捕获,在崩溃时生成dump,方便找出问题点。 隔了一天之后,短暂交流,发现他没有这个开发 ...

Mon Sep 10 20:07:00 CST 2018 0 1520
Debug版本正常运行,Release版本编译通过但运行崩溃

解决这个问题之前,第一个想的是Debug版本Release版本有什么区别 Debug版: 经过编译器编译出的项目.exe文件大,而且生成的二进制命令没有经过编译器的优化。项目中包含着丰富的调试信息,供programer调试程序。这就是为什么,当我们在Debug程序的时候,为什么程序就会 ...

Thu Mar 22 00:36:00 CST 2018 0 1561
Windows进程崩溃问题定位方法

  Linux上进程崩溃通常会生成core文件,用gdb打开后执行bt命令即可查看堆栈。而在Windows平台上,我们通常会采用MiniDumpWriteDump来进行堆栈转储,而这需要对系统Api有一定的了解和编写一些代码。本文就结合实际项目经验,总结了一种无需编码即可记录进程崩溃堆栈的方法 ...

Thu Apr 02 19:37:00 CST 2015 4 1998
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM