GDB除錯工具學習筆記

2021-06-07 13:13:26 字數 967 閱讀 7639

1.gdb概述

gdb是gnu開源組織發布的乙個強大的unix下的程式除錯工具。

一般來說,gdb主要幫助你完成下面四個方面的功能:   

(1) 啟動你的程式,可以按照你的自定義的要求隨心所欲的執行程式。  

(2) 可讓被除錯的程式在你所指定的調置的斷點處停住。  

(3) 當程式被停住時,可以檢查此時你的程式中所發生的事。  

(4) 動態的改變你程式的執行環境。

2. 啟動gdb(以乙個hello.c程式為例)

如果要使用gdb除錯程式,在編譯程式時要使用-g選項。如:」 gcc -g hello.c -o hello 「。

使用gdb除錯程式有兩種啟動方式。

(1) 直接使用 「 gdb hello"來啟動除錯。

(2) 先使用 」gdb「命令來啟動gdb,進入gdb後,然後使用」file hello「來開始除錯該程式。

3. 常用命令

list (l) --- 顯示程式

run (r) --- 全速執行

next (n) --- 單步執行,不進入子函式

step (s) --- 單步執行,進入子函式

info break --- 檢視所有斷點

delet 斷點編號 --- 刪除斷點

continue (c) --- 繼續全速執行程式,直到遇到下乙個斷點或程式結束

break 函式名 --- 在該函式處打斷點

break 行號 --- 在該行打斷點

break 檔名:行號 --- 在指定檔名的指定行打斷點

break 行號 if 條件 --- 若條件成立在該行打斷點

print (p) 變數名 --- 檢視指定變數

finish --- 執行程式,直到

當前函式結束

watch 變數名 --- 對指定變數進行監控

quit (q) --- 退出gdb

4. 總結

gdb除錯工具學習筆記

1 編譯時候加 g才能生成可供gdb除錯的可執行檔案。gcc的 g選項並不是把源 嵌入到可執行檔案中的,在除錯時也需要原始檔 例如 gcc g mian.c o mian 2 進入 退出 顯示 例如 gdb mian 進入 start 開始 finish 結束 quit 退出 list 顯示代表 3...

除錯工具 gdb

gcc o a.out a.c gdb q a.out break main info register i r objdump d a.out grep a20 main.轉換為機器 objdump m intel d a.out grep a20 main.gdb 設定 1 gdb q 2 se...

gdb除錯工具

檢視幫助一是man 命令,二是進入 www.gnu.org 找到gdb的幫助文件 更詳細 gcc wall g main.c o main,只有這樣才能產生除錯資訊,包括core的除錯資訊。一 常用命令 run r 執行,執行到斷點,重新用r,表示重新開始執行。list l 列出源 l 2,l ma...