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...