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。
GDB除錯基本命令
一 列檔案清單 list l 列出產生執行檔案的源 的一部分 列出 line1 到 line2 行之間的源 gdb list line1,line2 輸出從上次呼叫list命令開始往後的10行程式 gdb list 輸出第 n 行附近的10行程式 gdb list n 輸出函式function前後的...
GDB除錯基本命令
gdb是乙個強大的命令列除錯工具。大家知道命令列的強大就是在於,其可以形成執行序列,形成指令碼。unix下的軟體全是命令列的,這給程式開發提代供了極大的便利,命令列軟體的優勢在於,它們可以非常容易的整合在一起,使用幾個簡單的已有工具的命令,就可以做出乙個非常強大的功能。一般來說,gdb主要幫忙你完成...
gdb除錯的基本命令
gdb除錯在編譯時必須要加 g選項 gcc g 輸入gdb進入gdb除錯環境。或者直接輸入gdb progfile來載入檔案。或者進入gdb環境後,通過命令file progfile來載入需要除錯的可 執行檔案檔案。常用命令行表 命令命令縮寫 命令說明 list l顯示多行源 break b設定斷點...