Qt工程生成MiniDump檔案

2021-10-03 17:36:28 字數 1278 閱讀 3591

首先我們在qt的pro檔案(工程配置檔案)要取消優化,並加入除錯資訊,如下:

#加入除錯資訊

qmake_cflags_release +=-g

qmake_cxxflags_release +=-g

#禁止優化

qmake_cflags_release -

=-o2

qmake_cxxflags_release -

=-o2

#release在最後link時預設有"-s」引數,表示"omit all symbol information from the output file",因此要去掉該參

win32:

!msvc

else

同樣,在pro檔案中加入生成dump檔案的依賴庫——dbghelp.lib,user32.lib

libs += \

-luser32 \

-ldbghelp

接著我們要定義生成dump檔案的函式入口,然後把入口新增在main函式的入口處,一般是在main函式的第一行。如下

#include

#include

#include

#include

#include

#include

(exception_pointers *pexception)

//這裡彈出乙個錯誤對話方塊並退出程式

exception_record* record = pexception-

>exceptionrecord;

fprintf

(stderr

,"record->exceptioncode:%lu\n"

, record-

>exceptioncode)

;return exception_execute_handler;

}#include

void

disablesetunhandledexceptionfilter()

}void

runcrashhandlerlocal()

intmain()

以上就完成乙個最簡版本的

注:1). 生成dump必須得是msvc的編譯器才行,使用mingw編譯器生成不了dump檔案

2). pro檔案適用於qt工程,以上**同樣試用於vs工程,只需要在vs工程中取消優化,並將相應的庫——dbghelp.lib,user32.lib新增到工程即可

windows下qt生成及使用dump檔案

1.生成dump檔案 轉儲堆疊資訊 建立 dump 檔案 qstring dumpfilename qstring d versystombs qdatetime currentdatetime tostring yyyymmddhhmmss dmp handle hdumpfile createf...

QT工程結構

1 x.pro檔案 工程的全域性配置 qt core gui greaterthan qt major version,4 qt widgets target pushbuttontest sources main.cpp mywidget.cpp headers mywidget.h2 x.cpp...

Qt 工程建立

qt簡介 跨平台影象介面 歷史 1991 奇趣科技 優點 跨平台 mfc不可跨平台 介面簡單,容易上手 一定程度簡化了記憶體 版本 商業版和開源版 成功案例 linux桌面環境kde 谷歌地圖 建立第乙個qt專案 建立專案 選擇專案路徑和專案名 名稱 不能有中文和空格 路徑 不能有中文路徑 套件建立...