Qt 使用DbgHelp在程序崩溃时获取dump文件

本文介绍了在Qt应用中使用DbgHelp库捕获程序崩溃并生成dump文件的方法。通过在项目配置中链接DbgHelp库,设置回调函数以及注册dump回调,可以实现在Qt 5.9.6+VS2015环境下解决MINIDUMP_EXCEPTION_INFORMATION找不到定义的问题,从而确保crashlog的记录和警告提示功能正常工作。

网上搜索此问题,得到的大多是以下内容:

(引用来自:https://www.cnblogs.com/ybqjymy/p/13049295.html

第一步:在pro中链接Lib

LIBS += -lDbgHelp

#pragma comment(lib , "DbgHelp.lib")

第二步:在main源文件中添加

#include <windows.h>

第三步:在main源文件中创建回调函数:

  LONG CreateCrashHandler(EXCEPTION_POINTERS *pException){
      //创建 Dump 文件
      QDateTime CurDTime = QDateTime::currentDateTime();
      QString current_date = CurDTime.toString("yyyy_MM_dd_hh_mm_ss");
      //dmp文件的命名
      QString dumpText = "Dump_"+current_date+".dmp";
      EXCEPTION_RECORD *record = pException->ExceptionRecord;
      QString errCode(QString::number(record->ExceptionCode, 16));
      QString errAddr(QString::number((uint)record->ExceptionAddress, 16));
     QString errFlag(QString::number(record->ExceptionFlags, 16));
     QString errPara(QString::number(rec
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值