Qt程式异常崩溃处理技巧(Win)

本文介绍了在Windows环境下,针对Qt4应用程序如何处理异常崩溃,并利用SetUnhandledExceptionFilter函数进行异常捕获,保存重要数据。同时,通过微软的DbgHelp库和MiniDumpWriteDump函数生成Dump文件,结合WinDbg进行错误分析。在项目的编译配置中,设置生成.pdb调试信息文件,以便在WinDbg中定位错误源代码。
摘要由CSDN通过智能技术生成

这篇文章谈的是 Qt4 程式在视窗系统下的异常崩溃处理技巧。所以须要在头文件里包括“#include <Windows.h>”。

首先,程式难免会有异常崩溃的时候。重要的是在崩溃时能及时把重要的数据保存好,将损失减少。

SetUnhandledExceptionFilter函数是Win32API的异常捕获函数,在程式异常结束前。会调用该函数注冊的回调函数,这样就能在进程终止前运行指定的代码,达到比如保存数据的功能。

LONG ApplicationCrashHandler(EXCEPTION_POINTERS *pException){//程式异常捕获
    /*
      ***保存数据代码***
    */
    //这里弹出一个错误对话框并退出程序
    EXCEPTION_RECORD* record = pException->ExceptionRecord;
    QString errCode(QString::number(record->ExceptionCode,16)),errAdr(QString::number((uint)record->ExceptionAddress,16)),errMod;
    QMessageBox::critical(NULL,"程式崩溃","<FONT size=4><div><b>对于发生的错误,表示诚挚的歉意</b><br/></div>"+
        QString("<div>错误代码:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值