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...