C程序調(diào)試工具gdb
GDB簡(jiǎn)介
GDB(GNU symbolic debugger)是 GNU Project 調(diào)試器,它使你可以查看另一個(gè)程序在“執(zhí)行”期間正在執(zhí)行的操作或該程序崩潰時(shí)正在執(zhí)行的操作。GDB 可以做四種主要的事情來(lái)幫助你捕獲軟件行為中的錯(cuò)誤:
啟動(dòng)你的程序,并指定可能影響其行為的所有內(nèi)容。
使程序在指定條件下停止。
檢查程序停止時(shí)發(fā)生的情況。
更改程序中的內(nèi)容,以便你可以嘗試糾正一個(gè)錯(cuò)誤的影響,然后繼續(xù)學(xué)習(xí)另一個(gè)錯(cuò)誤。
說(shuō)白了,就是調(diào)試程序用的,一般在Linux環(huán)境中使用。
GDB安裝
在Ubuntu下安裝gdb調(diào)試工具,使用如下命令:
sudo apt-get install gdb
GDB使用
gdb常用的命令及用法如下:
gdb?a.out?????開(kāi)始調(diào)試 a.out?程序
set args pram1 pram2????????傳入程序需要的命令行參數(shù)
b func ????在函數(shù)func處設(shè)置斷點(diǎn)
info b???????查看所以斷點(diǎn)
d 1????????刪除序號(hào)為1的斷點(diǎn)
r????????run運(yùn)行程序
n???????next單步執(zhí)行
c????????continue 使GDB恢復(fù)程序的執(zhí)行,直到觸發(fā)斷點(diǎn)或者程序結(jié)
bt??????查看當(dāng)前??臻g
f 2??????frame 切換到第2幀,bt棧中的序號(hào)
p *command????????查看 *command 變量的值
l????????查看當(dāng)前代碼
show follow-fork-mode ????顯示當(dāng)前進(jìn)程模式
set follow-fork-mode child 設(shè)置gdb進(jìn)入子進(jìn)程調(diào)試
q????退出當(dāng)前進(jìn)行的調(diào)試
