Qt程序捕捉异常,产生dump文件
来源:互联网 发布:天猫淘宝都是马云的吗 编辑:程序博客网 时间:2024/05/13 20:57
程序难免会出现异常崩溃,这时我们不仅要实时记录数据,以防止出现异常崩溃,而且还要能够捕捉所发生的异常。
捕捉异常时会产生dump文件,以备对异常调试的可查;还要添加头文件和库文件。
#include <Windows.h>
#include "DbgHelp.h"
LIBS += -ldbghelp
在main函数中调用回调函数 SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER)ApplicationCrashHandler);
static LONG ApplicationCrashHandler(EXCEPTION_POINTERS *pException){//And output crash informationEXCEPTION_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(record->NumberParameters, 16));qDebug()<<"errCode: "<<errCode;qDebug()<<"errAddr: "<<errAddr;qDebug()<<"errFlag: "<<errFlag;qDebug()<<"errPara: "<<errPara;//Create the dump fileHANDLE hDumpFile = CreateFile((LPCWSTR)QString("../bin_vs/crash.dmp").utf16(),GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);if(hDumpFile != INVALID_HANDLE_VALUE) {MINIDUMP_EXCEPTION_INFORMATION dumpInfo;dumpInfo.ExceptionPointers = pException;dumpInfo.ThreadId = GetCurrentThreadId();dumpInfo.ClientPointers = TRUE;MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(),hDumpFile, MiniDumpNormal, &dumpInfo, NULL, NULL);CloseHandle(hDumpFile);
}
return EXCEPTION_EXECUTE_HANDLER;}
1 0
- Qt程序捕捉异常,产生dump文件
- 如何捕捉程序异常/crash 并生成 dump 文件
- [Windows编程] 如何捕捉程序异常/crash 并生成 dump 文件
- 如何在程序异常或者崩溃时产生一个dump文件
- qt中程序崩溃生成dump文件
- DLL 文件 产生dump
- DLL 文件产生dump
- ubuntu下让崩溃的程序产生core dump文件
- 程序异常崩溃捕捉-dmp文件及Windbg分析
- 嵌入式 产生core dump文件
- 一个产生dump文件类
- dump文件产生和定位
- 如何产生core dump文件
- VS2010 调试 dump 文件产生
- 利用SetUnhandledExceptionFilter获取程序异常时的DUMP文件
- 利用SetUnhandledExceptionFilter获取程序异常时的DUMP文件
- 自定义VS程序异常处理及调试Dump文件(一)
- android 程序异常捕捉处理
- 单词的理解 —— 英译英
- 抽牌概率
- 《专题:C++语法基础》篇五:循环程序设计
- 2016年末个人小结
- @Resource和@Autowire的区别
- Qt程序捕捉异常,产生dump文件
- 【webservice】Java调用WebService
- 关于ping外网时出现unknow host的问题
- 基于angular.js的回到顶部指令
- 高偏差、高方差、低精确率与低召回率、混淆矩阵
- 使用WAMP搭建PHP本地开发环境
- linux 那些事儿系列
- Vue2.0点击切换类名改变样式
- (EM算法)The EM Algorithm