常見用法
- 查看 Core 文件:gdb filename(
可執(zhí)行文件
) core(core 文件
) - 查看當(dāng)前堆棧信息:(gdb) bt(
backtrace
) <-n>(只打印棧底下n層信息
) - 查看某一層棧信息:
- (gdb) f(
frame
) n(棧深度
) - (gdb) up n(
向棧的上面移動(dòng)
) - (gdb) down n(
向棧的下面移動(dòng)
)
- (gdb) f(
- 自動(dòng)顯示:(gdb) display
- 設(shè)置運(yùn)行時(shí)參數(shù):(gdb) set args --gtest_filter=***
- 需要再編譯的時(shí)候加
-g
參數(shù)才能顯示源代碼丰介。
info
- 打印詳細(xì)的棧信息:(gdb) info f
- 打印當(dāng)前函數(shù)的參數(shù)名和值:(gdb) info args
- 打印當(dāng)前函數(shù)的局部變量及其值:(gdb) info locals
- 打印當(dāng)前函數(shù)中的異常信息調(diào)用:(gdb) info catch
p
- 查看指定文件或指定函數(shù)的變量:
- file::variable: (gdb) p 'f2.c'::x
- function::variable: (gdb) p 'Hello'::x
- 打印數(shù)組:(gdb) p *array@len
- 輸出格式:(gdb) p/a i
- x 按十六進(jìn)制格式顯示變量昧港。
- d 按十進(jìn)制格式顯示變量玛荞。
- u 按十六進(jìn)制格式顯示無符號(hào)整型梭冠。
- o 按八進(jìn)制格式顯示變量。
- t 按二進(jìn)制格式顯示變量矿酵。
- a 按十六進(jìn)制格式顯示變量唬复。
- c 按字符格式顯示變量。
- f 按浮點(diǎn)數(shù)格式顯示變量全肮。
調(diào)試
- 設(shè)置斷點(diǎn):
- (gdb) b filename:linenum
- (gdb) b filename:funcname
- 執(zhí)行到第一個(gè)斷點(diǎn)處:(gdb) r
- 執(zhí)行程序到下一個(gè)斷點(diǎn):(gdb) c