windows下qt生成及使用dump文件

el/2024/4/13 13:42:59

1. 生成dump文件

LONG ApplicationCrashHandler(EXCEPTION_POINTERS *pException){//程式异常捕获/****转储堆栈信息****///创建 Dump 文件QString dumpFilename = QString("D:\\VerSysTombs\\") + QDateTime::currentDateTime().toString("yyyyMMddhhmmss") + ".dmp";HANDLE hDumpFile = CreateFile((LPCWSTR)(dumpFilename.toStdWString().c_str()), GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);if( hDumpFile != INVALID_HANDLE_VALUE){//Dump信息MINIDUMP_EXCEPTION_INFORMATION dumpInfo;dumpInfo.ExceptionPointers = pException;dumpInfo.ThreadId = GetCurrentThreadId();dumpInfo.ClientPointers = TRUE;//写入Dump文件内容MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hDumpFile, (MINIDUMP_TYPE)(MiniDumpWithDataSegs | MiniDumpWithProcessThreadData | MiniDumpWithUnloadedModules), &dumpInfo, NULL, NULL);}/****保存数据代码****///这里弹出一个错误对话框并退出程序EXCEPTION_RECORD* record = pException->ExceptionRecord;QString errCode(QString::number(record->ExceptionCode,16));QString errAdr(QString::number((uint)record->ExceptionAddress,16));FLOGE("Exe Crash And Restart[errcode = %s][erraddr = %s]", errCode.toStdString().c_str(), errAdr.toStdString().c_str());return EXCEPTION_EXECUTE_HANDLER;
}

main函数中需要调用:

SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER)ApplicationCrashHandler);//注冊异常捕获函数

2. 编译连接需要的头文件

#include <DbgHelp.h>

3. .pro文件配置

# 方便生成DUMP调试
LIBS += -lDbgHelp
QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /DEBUG

4. dump文件打开方式

dmp文件怎么打开-百度经验

5. MiniDumpWriteDump详解

MINIDUMP_TYPE详解_SuperMap地图的博客-CSDN博客


http://www.ngui.cc/el/4967947.html

相关文章

使用python3內建http.server搭建Webserver

1. 下载安装python 下载地址&#xff1a;https://www.python.org/downloads/release/python-372/ 2. server.py #-*- coding:utf-8 -*-import io import os import sys import urllib import json from http.server import HTTPServer from http.server import SimpleHTTPReq…

使用sql server踩到的坑,高危,前方注意躲避!!!

1. sa用户不能登录 Step1.开启混合身份登录&#xff0c;Windows身份登录后右键&#xff0c;选择属性&#xff0c;并在安全性一栏中开启混合身份登录 Step2&#xff1a;修改sa属性 2. 远程过程调用失败&#xff1a;该问题会直接导致python(其他语言未试)连接不上sql server 如图…

python数据表数据与JSON数据相互转化

1. 将从数据表读取的数据转化成JSON reslist ms.ExecQuery("select * from mytable01") req [] for row in reslist:d collections.OrderedDict()d[no] row[0]d[str] row[1]req.append(d) rspstr json.dumps(req) 2.从JSON输入插入到数据表 # 将json数据插入…

qt结合opencv videocapture图像采集

1. 核心代码 #ifndef FRAMECOTHREAD_H #define FRAMECOTHREAD_H#include <QThread> #include <QTimer> #include <QString> #include <QLabel>#include "opencv.hpp" using namespace cv;#include "CommDef.h"class FrameCoThrea…

分享:无版权图片素材免费下载网站

有时候&#xff0c;我们在寻找图片素材的时候&#xff0c;经常会考虑是否无侵权&#xff0c;到底有没有版权限制&#xff0c;图片质量如何的问题&#xff1f;接下来&#xff0c;干货君分享11个可用于商业用途的无版权图片免费下载网站&#xff08;文末有获取方式&#xff09;。…

哈哈哈,同样是程序员你为何那么优秀!?

家对程序员的第一印象就是沉默寡言&#xff0c;在我看来&#xff0c;他们的幽默机智都表现在他们的代码里&#xff0c;看了之后绝对让你对程序员这个群体刮目相看&#xff0c;或许可能会想跟他们干上一架。 今天&#xff0c;小编带你们来看看程序员们写的代码&#xff0c;绝对让…

linux网络编程-网络编程基础知识

1. 网络分层模型 2. 以太网帧格式(链路层) 3.IP数据报格式 4. UDP数据报格式 5.TCP数据报格式 注意点&#xff1a; 1>TCP/IP五层协议通常数据链路层物理层也被合称为链路层/网络接口层 2>应用层数据传输过程中传输层、网络层、链路层对数据的封装不是在应用程序中完成&…

linux网络编程-TCP socket编程模型

1. 编程模型 三次握手 四次挥手 2.主要函数说明 字节序转换函数&#xff1a; #include <arpa/inet.h> uint32_t htonl(uint32_t hostlong); uint16_t htons(uint16_t hostshort); uint32_t ntohl(uint32_t netlong); uint16_t ntohs(uint16_t netshort); IP转换函数&…

Qt对Json文件的读写

示例Json文件&#xff1a;HWCfg.json [{"Cameras": [],"NO": "00000000000000000000","Siip": "127.0.0.1","Siport": 8333},{"Cameras": [{"Acc": "admin","Ip": &quo…

和程序员约会的10个理由

前两天我正在头脑风暴一些极客&#xff08;geek&#xff09;想法的时候&#xff0c;我的老婆突然跟我讲&#xff0c;你应该写一篇文章&#xff0c;讲讲和程序员约会的10个理由。我愣了一下&#xff0c;“这个应该你告诉我才对啊&#xff01;” 我和老婆结婚已经十多年了&#x…