内容简介:如何让程序崩溃时候生成dump文件呢,这里需要我们在程序设计的时候添加dump文件生成代码,代码比较通用,度娘上也有很多种写法,这里我们就简单地贴下通用接口(见下图),我们在程序初始化的时候加载此接口就行。
程序猿小伙伴们都知道,linux系统下如果程序出现崩溃问题,通过设置可以生成core文件,然后开始一波犀利的gdb操作精准地找到问题所在,很是得心应手。 那么问题来了,在windows操作系统下会有core文件在程序开小差的时候提供我们分析定位吗,我们有没有很好的手段可以定位问题呢?例如当 程序员 发出如下呐喊:
“客户生产的程序崩溃啦,我也要崩溃啦”!这种情况我们可以怎么做?
其实在windows平台也是可以在崩溃时候生成类似core文件的dump文件,我们可以通过调试dump文件来还原程序崩溃时的状态,调试 工具 我推荐windbg屡试不爽很好用。“Windbg是在windows平台下,强大的用户态和 内核 态调试工具。相比较于Visual Studio,它是一个轻量级的调试工具,所谓轻量级指的是它的安装文件大小较小,但是其调试功能,却比VS更为强大。它的另外一个用途是可以用来分析dump文件”。
如何让程序崩溃时候生成dump文件呢,这里需要我们在程序设计的时候添加dump文件生成代码,代码比较通用,度娘上也有很多种写法,这里我们就简单地贴下通用接口(见下图),我们在程序初始化的时候加载此接口就行。
在有了dump文件后,我们如何分析呢,这里还需要保留我们在生成dll的时候产生的pdb文件,一一对应。debug版本会生成pdb文件,release版本默认不会生成pdb文件我们需要设置下vc、vs编译器,具体的设置不多讲一般都在工程-设置里面有debug选项勾选就行。
安装windgb,可以通过win7.1sdk里自带的debug包进行安装dbg_x86.msi进行安装,安装成功后会出现windbg调试工具。
当程序崩溃时,我们已经有dump文件,pdb文件,dll文件,我们简单介绍下怎么样用windgb工具来分析出错的代码行,首先需要配置Symbol path右击file->Symbol file path进行符号表路径设置,一般路径为:C:\Symbols;SRV*C:\Symbols* http://msdl.microsoft.com/download/symbols 在c盘新建目录Sysmbols,把dll和pdb文件放到以及dump文件都放在这个目录下。
设置sysmbol路径后,直接打开dump文件,右击“file-open crash dump”,选择生成的dump文件。这个时候windgb加载dump文件需要等待一会,加载完成后,在最下面的命令行窗口输入“!analyze -v”对文件进行分析,结果如下图所示,我们就可以精准的知道代码的哪一行会有问题。
有了这个方法基本上再也不怕崩溃的问题,小伙伴们赶紧收藏吧。
以上所述就是小编给大家介绍的《超好用C/C++程序dll崩溃定位分析手段!》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
JavaScript实战手册
David Sawyer McFarland / 李强 / 机械工业出版社 / 2009 / 89.00元
在《JavaScript实战手册》中,畅销书作者David McFarland教你如何以高级的方式使用JavaScript,即便你只有很少或者没有编程经验。一旦掌握了这种语言的结构和术语,你将学习如何使用高级的JavaScript工具来快速为站点添加有用的交互,而不是一切从头开始编写脚本。和其他的Missing Manuals图书不同,《JavaScript实战手册》清楚、精炼,手把手地讲解。 ......一起来看看 《JavaScript实战手册》 这本书的介绍吧!