1.編譯
編譯時使用gcc -g 選項新增除錯資訊 eg:gcc -g test.c -o test2.啟動
gdb test3.除錯用到的主要命令
1.顯示**
命令:l [行號] eg: l 1 表示從第一行開始顯示先設定斷點(挑兩種主要的)
行數斷點:break 行數 eg: break 20執行程式函式斷點:break 函式名 eg: break main
斷點檢視:info break [breaknum]
斷點刪除:delete [breaknum] 或 [numrange]
執行:run命令,程式會執行到breakpoint點從斷點開始單步除錯
用step命令 簡稱s,遇到函式時,要進入函式,就snext 簡稱n,不進入函式就執行完函式,這個在遇到標準庫函式時需要用n
先輸入target record-full命令 使能為除錯記錄狀態6.變數的顯示,設定再reverse-step即可回到上一步
變數當前值顯示:display顯示所有變數值 | p arg 顯示指定變數7.變數監視:watch arg: watch i變數引數設定: set var arg=what eg set var i=1;
除錯工具 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...
GDB除錯工具
mascot 射水魚 gdb官網 gdb適用的程式語言 ada c c objective c pascal 等。gdb的工作方式 本地除錯和遠端除錯。目前release的最新版本為8.0,gdb可以執行在linux 和windows 作業系統上。1.1 what is gdb?1 gdb gnud...