編譯錯誤:
變數使用前未定義
函式名拼寫錯誤
括號匹配失敗
漏分號用了中文標點
乙個工程內多個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...