当前位置: 首页 > 网络知识

Qt qBreakPad使用(windows)

时间:2026-01-26 14:20:02

一、介绍
  Google breakpad是一个跨平台的崩溃转储和分析框架和工具集合。而且BreakPad本来就是为了解决C、C++异常捕获而开发的。BreakPad支持跨平台,很容易在Qt项目中使用,使跨平台的应用实现跨平台异常捕获。这里介绍一下qBreakPad的使用。

二、编译

步骤
1、下载qBreakPad源码进行解压,目录如下:

2、下载BreakPad源码放入qBreakPad源码目录third_party\breakpad下,如下:

3、使用QT打开handler文件夹下qt工程

4、运行工程

可见编译成功了,我们去对应文件夹看到库也成功的生成了,这样我们就能使用qBreakPad了。

三、使用

这里我们创建一个名为qBreakPad的qt工程去进行测试使用,工程结构如下

其中qbreakpadlib文件夹包含的是头文件和lib库,其结构如下

lib目录下分别编译了debug和release版本库放入,上述操作完毕后需要在pro里面添加对应库和头文件路径,配置如下

修改pro后记得重新qmake一下,配置才会生效。这样我们就可以编写代码进行使用了,

1 #include "mainwindoh" 2 #include <QApplication> 3 #include "QBreakpadHandler.h" 4 #include <QLabel> 5 6 void crash() 7 11 12 int main(int argc, char *argv[]) 13

运行demo,程序会异常结束,我们去对应生成exe的目录看看生成的文件,里面生成了crash文件夹,崩溃文件就放在里面

我们使用winDbg查看这个dump信息,

可以看到提示的非常明显,是在19行中QLabel调用setText导致崩溃的,这样我们就很快能够知道为题所在了。



上一篇:代码的坏味道
下一篇:C++ 设计模式之享元模式
Qt
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素