常用的程式除錯方法(C C )

2021-10-10 18:32:20 字數 779 閱讀 6068

編譯錯誤:

變數使用前未定義

函式名拼寫錯誤

括號匹配失敗

漏分號用了中文標點

乙個工程內多個main函式

建立工程選錯型別

用.**件來進行編輯

變數使用前未定義(老編譯器)

輸入函式漏&號,導致訪問了非法記憶體

野位址的引用

陣列越界

除錯手段:

(1)出現對話方塊提示runtime error時,讀懂所反饋的錯誤資訊

(2)執行除錯執行,觸發程式崩潰,觀察指標指向的位置,快速找到出錯位置

除錯手段:

(1)設斷點。快捷方式為f9。斷點的作用是使程式執行到斷點處停止。

斷點設定的位置一般有:

迴圈外,若程式發生死迴圈時,可檢查由哪個迴圈產生

選擇結構內,可檢查選擇結構裡是否被執行

自定義函式,可跳轉到子函式進行除錯

(2)單步除錯。即一句句地執行**,通過觀察區域性變數和中間變數的變化,尋找錯誤。

逐過程執行,快捷方式為f10。碰到函式呼叫會直接執行

逐語句執行,快捷方式為f11。碰到函式呼叫會跳轉到子函式

(3)變數監察。在斷點停止了程式後,「除錯->視窗」,啟用區域性變數和監視視窗

區域性變數視窗隨著程式段執行,會顯示不同變數的值

監視視窗可自己輸入要觀察的變數名

常用的除錯方法

1.列印 var num 0 console,log num 2.彈框 彈框的時候,會把資料轉為字串 var obj alert obj 3.詳細輸出 var box document.getelementbyid box console.dir box 4.提示框 如果點選的是確定,返回值救贖tr...

除錯記憶體 C C 程式除錯和記憶體檢測

程式出現錯誤很正常,乙個優秀的程式設計師必須學會除錯,發現錯誤並改正。減少程式錯誤最有效的方法是 在敲 之前,多花點時間思考,如何構造程式,資料結構和演算法,盡量把細節提前寫下來,可以嘗試著在紙上寫出核心 這樣可以減少今後修改 的時間。1 檢查,重新閱讀程式,排除比較明顯的錯誤。編譯時帶上 wall...

C C 程式除錯神器 GDB介紹

程式在ld的時候會給so設乙個載入位址,可以通過 ttext segment 0x12345678 去指定該so的位址。ldd exec gdb的info sharedlibrary可檢視其載入位址。程式在執行過程中訪問非法記憶體時,會丟擲異常,段錯誤 program terminated with...