Qt5程式常規除錯方法總結

2021-10-20 00:23:37 字數 2268 閱讀 7974

1.使用qdebug列印關鍵資訊,在程式輸出視窗進行檢視,如:

2.使用qmessagebox顯示關鍵資訊,在程式執行過程中通過視窗檢視,如:

3.對可疑**進行注釋,按模組函式順序逐步縮小範圍,精準定位出bug**,如:

on_pushbutton_clicked()

4.qtcreator使用f9,f10,f11,f5進行斷點除錯,檢視程式執行過程中關鍵資料資訊;

5.列印除錯資訊到日誌檔案中進行分析,使用示例,更全面系統日誌框架可學習log4qt ;

6.除錯複雜介面顯示時,可以設定控制項顏色清晰檢視控制項大小及邊界,如下:

7.滑鼠放在關鍵字上面,f1快捷鍵可檢視官方幫助說明;

8.列印除錯資訊及所在行數;

#include

qdebug()

<<

__line__

<< endl;

9.新增異常捕獲**,崩潰時生成dump檔案,根據dump檔案進行分析定位,如下:

//異常捕獲函式

long

(exception_pointers *pexception)

qdatetime current_date_time = qdatetime::

currentdatetime()

; qstring current_date = current_date_time.

tostring

("yyyy_mm_dd_hh_mm_ss");

qstring time = 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

(record-

>numberparameters,16)

);qdebug()

<<

"errcode: "

<

qdebug()

<<

"erraddr: "

<

qdebug()

<<

"errflag: "

<

qdebug()

<<

"errpara: "

<

handle hdumpfile =

createfile

((lpcstr)

qstring

("../dmp/"

+ time)

.utf16()

, generic_write,0,

null

, create_always, file_attribute_normal,

null);

if(hdumpfile != invalid_handle_value)

else

return exception_execute_handler;

}//註冊異常捕獲函式

setunhandledexceptionfilter

(;

QT5程式對外發布

qt5程式對外發布 qt的應用程式必須用release構建。如果用的是mingw53 32就在qt的安裝目錄下的 mingw53 32資料夾下找到 windeployqt.exe d programfiles qt qt5.11.1 5.11.1 mingw53 32 bin windeployqt...

Qt5(黑馬程式設計師)

庫函式的呼叫,只需要知道功能 入口引數 返回值。靈活應用幫助文件。1 qt的介紹 2 qt的框架 3 專案檔案 pro 4 第乙個qt程式 hello qt 5 父視窗和子視窗的區別 控制項 部件 構件 6 訊號與槽 7 座標系統 8 記憶體 機制 9 帶選單欄的視窗 10 對話方塊 1 qtcre...

Qt5中檔案資料夾常規操作

針對檔案及資料夾的一系列常規操作 示例 include include include include include file bool isfileexist qstring strpath void removefile qstring filename bool renamefile qst...