U盘PE| w764位旗舰版下载 | U盘装win7系统 | U盘启动 |win7pe | win10下载 |加入收藏土豆PE官网U盘PE,U盘装win7系统,win7pe,U盘启动,U盘装系统,w764位旗舰版下载站!
当前位置:主页 > 帮助中心 > 帮助中心 >

Qt 使用 Google Breakpad 捕获程序崩溃报告(dump文件)

来源:http://www.tudoupe.com时间:2022-07-19

一、简述
今天我们将讨论如何使用Google Breakpad来帮助我们自己的程序在它们崩溃时丢失文件。以Qt为例。其他项目建立过程基本上相似,Google Breakpad与我们正在开发的无关。它主要是理解如何使用Google Breakpad来帮助我们捕捉崩溃文件。

如何使用Google Breakpad
**开发环境:win8+VS2013 **
首先我们建立了一个Qt项目。

这里写图片描述
(2)修改 BreakTest工程属性。
修改exe生成目录

这里写图片描述


添加静态库文件

这里写图片描述
添加了库目录,我们添加了lib库文件,但没有指定库文件目录,这里使用相对路径来防止程序在路径更改后找到库文件。

这里写图片描述


附加包含目录

这里写图片描述
当前的配置应该选择“释放模式”并在“释放模式”下设置“可调试”来生成在生成“exe”时。 pdb调试信息文件在两个步骤中实现

在这里插入图片描述

在这里插入图片描述


下面是Google Breakpad如何捕捉冲突文件所需要的 lib 文件和标题以及我在构建项目的文件位置(确保文件位置正确,否则编译器不会通过)

这里写图片描述
这里所使用的库文件是从Google Breakpad源代码.lib文件中常见的 crash_generation_client和 exception_handler三个项目中生成的,感兴趣的朋友可以将这些项目添加到他们的项目,然后生成我们需要的 lib 文件。

这里写图片描述

其中,我做了三种共同的, crash_generation_client和 exception_handler项目,分别是动态和静态。在这个例子中,用于动态编译项目中的lib文件。(对于那些不知道动态和静态编译器的人,你可以独自去百度。

这里写图片描述
(三)、添加代码
main.cpp


为BreakPadTest中添加一个按钮,下面为按钮点击的槽函数,从代码中可以看到按钮点击后将导致程序崩溃。
void BreakPadTest::onButtonClicked()
{
int *i = NULL;
*i = 0;
}

4.生成解决方案,在程序生成目录中单击执行程序

这里写图片描述
单击下面的按钮,我们发现程序崩溃并翻转,而我们发现目录 kdeexe成功地生成了dmp文件。

这里写图片描述

这里写图片描述

根据dmp文件,在它崩溃时恢复程序的状态。
打开VS的dmp文件,当程序崩溃时我们会看到一些信息。

这里写图片描述
单击右边的“只在家庭机上使用调试”按钮,查看程序崩溃的堆栈信息和特定代码行中出现的具体错误。

这里写图片描述


从上面我们定位程序的崩溃位置,并找到错误,然后修改错误。
##有时我们不能直接用裸眼找到问题,这取决于该程序 crashed 的地点,就是通过查看堆栈信息来确定问题的发生地点。


本文详细描述了如何将Google Breakpad添加到一个项目,以图形的方式帮助我们生成一个dmp文件以定位程序崩溃。我将在下一篇文章详细解释上面使用的代码,虽然我们不需要知道所有的Google Breakpad的源代码,但至少应该理解上面所涉及的代码。
————————————————
版权声明:本条是CC4.0 BY-SA版权协议下CSDN主机《前线猪》的原文条目。如欲复制本条目,请参阅原文及本声明的链接。
来源链接: https://blog.csdn.goforwardtostep/article/details/56685810

Copyright © 2012-2014 Www.tudoupe.Com. 土豆启动 版权所有 意见建议:tdsky@tudoupe.com

土豆系统,土豆PE,win7系统下载,win7 64位旗舰版下载,u盘启动,u盘装系统,win10下载,win10正式版下载,win10 RTM正式版下载,win8下载,电脑蓝屏,IE11修复,网络受限,4K对齐,双系统,隐藏分区,系统安装不了,U盘装系统,笔记本装系统,台式机装系统,diskgenius运用,GHSOT装系统,U盘修复,U盘技巧,U盘速度,U盘不能格式化,U盘复制发生错误,U盘加密,U盘选购,开机黑屏,蓝屏,进不了系统,上不了网,打不开程序,点击无反应,系统设置,PE个性化,PE添加网络,PE维护系统

点击这里给我发消息