(1)打開需調試的文件
gdb test
或
gdb
file test
(2)運行相關
run(r) #開始運行程序
next(n) #單步運行程序(不進入子函數)
step(s) #單步運行程序(進入子函數)
finish #運行程序,直到當前函數結束
continue(c) #繼續運行程序,直到斷點/結束
until #運行程序直到退出循環體
until 行號 #運行至某行,不僅僅用來跳出循環
call 函數(參數) #調用程序中可見的函數,並傳遞“參數”,如:call gdb_test(55)
quit(q) #退出gdb
(3)查看程序及斷點調試
list(l) [行號/函數名] #查看程序
break(b) 函數名/行號/文件名:行號/行號if條件 #打斷點
print(p) 變量名/函數名(參數) #查看指定變量值
display 變量名 #單步調試中,每次單步指令後輸出被設置的表達式和值
watch 變量名 #對指定變量進行監控,值發生改變就顯示
info break(b) #查看所有斷點
delete 斷點號n #刪除第n個斷點
disable 斷點號n #暫停第n個斷點
enable 斷點號n #開啓第n個斷點
clear 行號n #清除第n行的斷點
delete breakpoints #清除所有斷點
whatis #查詢變量或函數
info function #查詢函數
info locals #顯示當前堆棧頁的所有變量
(4)查詢運行信息
backtrace(bt) #顯示當前調用堆棧;
up/down #改變堆棧顯示的深度
set args 參數 #指定運行時的參數
show args #查看設置好的參數
info program #來查看程序的是否在運行,進程號,被暫停的原因
(5)分割窗口layout——用於分割窗口,可以一邊查看代碼,一邊測試
layout src #顯示源代碼窗口
layout asm #顯示反彙編窗口
layout regs #顯示源代碼/反彙編和CPU寄存器窗口
layout split #顯示源代碼和反彙編窗口
Ctrl + L #刷新窗
Linux工具之gdb
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.