一、目標:查詢問題、分析問題、解決問題。
需要程式設計師的經驗、除錯手段和運氣有關。
可以:1、設定各種斷點
2、檢視變數當前的狀態
3、檢視函式的引數資訊
4、檢視當前cpu暫存器的狀態
5、檢測是否出現記憶體洩露
二、熟悉除錯工具:
其中斷點跟蹤、
watch
視窗和variables
視窗是經常使用的檢視變數、物件等資訊快速而而有效的工具。
設計簡單斷點:當程式執行時執行到設定斷點的語句處,將產生中斷。
②ctrl+b組合鍵開啟斷點視窗,可選擇data選項卡
設定資料斷點:若全域性物件與預知的結果不同時,可使用其快速地定位到修改全域性物件的**處,查詢原因。
③ctrl+b組合鍵開啟斷點視窗,可選擇location選項卡
條件斷點:常用於在迴圈語句中進行除錯。為斷點設定乙個關係表示式,當關係表示式為真時才產生中斷,否則程式會繼續執行。
④ctrl+b組合鍵開啟斷點視窗,可選擇messages選項卡
設定訊息斷點:使用並不多,通常在設計第三方控制項時,在控制項的視窗函式中才需要跟蹤訊息斷點。
三、各種除錯視窗:
watch
視窗 call stack視窗 memory視窗
varibales
視窗 registers視窗 disassembly視窗
巨集除錯技術:
① 應用trace巨集用於在視窗中輸出資訊。
cstring res;
res.format(「%d\n」,nsum);
trace(「執行結果:」+res);
② 應用assert巨集診斷條件是否成立(如判斷指標是否為空,判斷視窗是否包含了某乙個視窗風格,視窗建立是否成功等。)
assert(***);
四、記憶體洩露:是指由於程式執行過程中占用的資源或記憶體沒有被及時釋放導致的。典型的記憶體洩露出現在堆中為指標分配空間,在指標使用後沒有釋放堆空間。
matlab 程式除錯
在程式除錯時,程式執行中變數的值是乙個重要的線索。因此,檢視變數值是程式除錯的重要線索,由於在函式呼叫時只返回最後的輸出引數,而不返回中間變數,因此,可以選擇下面的方法檢視程式執行中的變數值。1 通過分析,將可能出錯的語句後面的分號刪除,將結果顯示在命令視窗中,與預期值進行比較。2 利用函式disp...
VB程式除錯
程式除錯就是對程式進行測試,查詢程式中的錯誤,並將這些錯誤修正或排除。一 在vb程式設計中有三類錯誤 第一類 語法錯誤 由於違反了語言 違反有關語句形式或使用規則而產生的錯誤。系統可以自動檢查,如 輸入非法字元,缺少括號等。第二類 執行錯誤 由於試圖執行乙個不可進行的操作而引起的錯誤,比如引用乙個不...
qt程式除錯
2012 5 9總結 1.qdebug 語句輸出到終端,void qdebug const char 可以直接使用,相當於c語言中的print qdebug qdebug 後者需要包含qdebug這個標頭檔案才能使用。2.使用 正式版本使用巨集遮蔽 defines qt no warning out...