GDB調試命令總結
GDB的功能 |
1.啟動被調試程序 |
2.讓被調試的程序在指定位置停住 |
3.當程序停住的時候,可以檢查程序狀態,變量值 |
用法:
gcc -g test.c -o test
gdb
命令:
- 查看源代碼
list/l 空 or 行號 or 函數名
- 直接enter,重復執行上一命令
- run/r 運行至下一個斷點停下來 or 如果沒有斷點,直接運行結束
- start 運行進入主函數(main())停下來
- .斷點
1) 設置斷點
break/b----行號 or 函數名 [if condition 命中條件]
2) info break/b 查看斷點信息
3) 調試
next/n 單步執行,不進入函數
step/s 單步執行,進入函數
- continue/c 繼續執行,在下一斷點處停下
- finish 結束當前函數的運行
- 清除斷點
清除所有斷點 clear
清除某個模塊的斷點 clear filename
清除某個函數中的斷點 clear function
清除某行斷點 clear 行號
delete 斷點編號
- disable 斷點編號 使某個斷點失效
- enable 斷點編號 使某個斷點有效
- display 表達式 每當程序運行至斷點都會顯示
- watch 表達式 設置觀察點
- whatis 表達式 顯示某個表達式的數據類型
- 查看變量 or表達式的值
print/p 表達式 顯示某個表達式的值
p *[email protected] 顯示一個動態數組array
輸出格式:p/x i
x |
16進制 |
d |
10進制 |
u |
無符號19進制 |
o |
8進制 |
t |
2進制 |
a |
16進制 |
c |
字符表示 |
f |
浮點表示 |
- 堆棧相關命令
backtrace/bt 查看堆棧情況
info register 查看寄存器(除了浮點寄存器)
info all register 查看所有的寄存器
info stack 查看堆棧使用情況
info args 查看函數的參數以及其值
info locals 查看函數的所有局部變量
info catch 查看函數拋出的異常
- 調試運行環境相關命令
set args arg1 arg2 設置運行參數
show args 顯示運行參數
set width num 設置GDB顯示行寬
return <返回值> 改變程序流程,直接結束當前函數並指定值返回
GDB調試命令總結