標籤:
查看gdb的版本號碼 (1)rpm -q gdb 會顯示是否安裝gdb及版本號碼 (2)gdb --version也可以
| breakpoint |
b main; b 20; |
設定斷點 |
| breakpoint if |
break 函數名、編號 if xxxx |
在xxx的情況下設定的斷點才生效 (xxx 例如:變數= 3) |
| cd |
cd /home/yongchao/ |
改變當前工作目錄 |
| clear |
游標在正要執行的break點的行,然後打clear |
刪除停止處的斷點 |
| info b |
info b |
查看所有的斷點 |
| continue |
continue |
從斷點開始繼續執行 |
| enable |
enable breakpoint 編號 |
使得某個斷點生效 |
| disable |
disable breakpoint 編號 |
使得某個斷點失效 |
| delete |
delete 斷點號 |
刪除某個斷點 |
| delete |
delete |
刪除所有斷點 |
| display |
display 變數、運算式 |
程式停止時顯示變數或者運算式的值(一直顯示,直到取消顯示) |
| info display |
info display |
顯示display的變數編號 |
| undisplay |
undisplay 編號 |
取消某個編號一直顯示 |
| step |
s |
跳入函數 |
| until |
until |
直接執行到函數最後 或者跳出一個迴圈 |
| finish |
finish |
如果已經進入了某個函數,想要退出該函數返回到它的調用函數中 |
| shell |
shell linux命令 |
使你能不離開 gdb 就執行 UNIX shell 命令. |
| print |
print 變數 |
列印變數 |
| print |
print 變數 = 2 |
給變數賦值2 |
| print |
print find_entry(1,0) |
對程式中函數的調用 |
| print |
print array[0]@5 (不能是[email protected]) |
查看數組的5個元素 |
| call |
call find_entry(1,10) |
調用和執行函數 |
| pwd |
pwd |
顯示當前工作目錄 |
| ptype |
ptyoe 變數 |
顯示類、結構體的結構 |
| whatis |
whatis 變數/函數類型 |
顯示變數/函數類型的 聲明 |
| watch |
watch 變數 |
觀察變數的值,當有變化的時候停止 |
在使用watch時步驟如下: 1. 使用break在要觀察的變數所在處設定斷電; 2. 使用run執行,直到斷點; 3. 使用watch設定觀察點; 4. 使用continue觀察設定的觀察點是否有變化。 |
| watch counter>15 當counter>15的時候程式終止 |
| delete watch編號 |
delete watch編號 |
刪除watch點 |
| make |
make |
不退出gdb就可以重新產生可執行檔 |
| x |
x /3 記憶體位址 |
需要顯示的記憶體單元的個數,也就是說從當前地址向後顯示幾個記憶體單元的內容,一個記憶體單元的大小由後面的u定義 |
| x /f 記憶體位址 |
f 表示顯示的格式 : x 按十六進位格式顯示變數。 d 按十進位格式顯示變數。 u 按十進位格式顯示無符號整型。 o 按八進位格式顯示變數。 t 按二進位格式顯示變數。 a 按十六進位格式顯示變數。 i 指令地址格式 c 按字元格式設定顯示變數。 f 按浮點數格式顯示變數。 |
| x /u 記憶體位址 |
u表示一個地址單元的長度 b表示單位元組, h表示雙位元組, w表示四位元組, g表示八位元組 |
| x /3dw 記憶體位址 |
列印3個四位元組,安裝10進位格式列印 |
| where |
where |
使用 where 命令查看程式出錯的地方 |
gdb a.out core where 查看導致崩潰的原因 |
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
| |
|
|
linux之GDB常用命令匯總