gdb 除錯利器

2021-09-08 12:50:24 字數 769 閱讀 8398

gdb是乙個由gnu開源組織公布的、unix/linux作業系統下的、基於命令列的、功能強大的程式除錯工具。對於一名linux下工作的c++程式猿,gdb是不可缺少的工具;

對c/c++程式的除錯。須要在編譯前就加上-g選項:

$g++ -g hello.cpp -o hello

除錯可執行檔案:

$gdb

program也就是你的執行檔案。一般在當前資料夾下。

除錯core檔案(core是程式非法執行後core dump後產生的檔案):

$gdb $gdb program core.11127

除錯服務程式:

$gdb $gdb hello 11127

假設你的程式是乙個服務程式,那麼你能夠指定這個服務程式執行時的程序id。

gdb會自己主動attach上去,並除錯他。program應該在path環境變數中搜尋得到。

啟動gdb後,進入到互動模式,通過下面命令完畢對程式的除錯。注意高頻使用的命令一般都會有縮寫,熟練使用這些縮寫命令能提高除錯的效率;

註解互動模式下直接回車的作用是反覆上一指令。對於單步除錯很方便。

cgdb能夠看作gdb的介面增強版,用來替代gdb的 gdb -tui。cgdb主要功能是在除錯時進行**的同步顯示,這無疑新增了除錯的方便性,提高了除錯效率。介面類似vi,符合unix/linux下開發者習慣;假設熟悉gdb和vi,差點兒能夠馬上使用cgdb。

除錯利器 PHP debug backtrace

可能大家都知道,php中有乙個函式叫debug backtrace,它可以回溯跟蹤函式的呼叫資訊,可以說是乙個除錯利器。好,來複習一下。01one 02 03functionone 06 07functiontwo 10 11functionthree 14 15 16輸出 17array 18 1...

gdb 除錯 vs除錯

一 先要生成二進位制檔案 g g 1.cpp o 1.out g引數不要省,不然 gdb l 引數用不了 二 引數 設定斷點 設定 函式斷點break func 在某行設定斷點break 7 檢視斷點資訊 info break 刪除斷點 d 刪除所有斷點 d 3 刪除第三個 執行 r 下一步 n 逐...

GDB除錯命令以及GDB除錯段錯誤

一 gdb的除錯命令。c語言是 cc g tst.c o tst c 是g g o 生成的檔案 file.cpp c 除錯程式命令 gdb file 啟動,羅列 行數ist 1,break 行數 info break,run r 除錯執行,step s 單步除錯,檢視變數 print p 變數名,檢...