在linux下編譯程序要用到gdb,我一直記不到幾個命令,所以轉來一篇講解gdb命令的帖子,一邊隨時查找。
作者:yrj 的 Blog
gdb 命令詳解

awatch

指定一個變量,如果這個變量被讀或者被寫,則暫停程序運行,在調試器中顯示信息,并等待下一個調試命令。參考rwatchwatch命令。

backtrace

顯示函數調用得所有棧框架(stack frames)的 蹤跡和當前函數的參數的值,bt是這個命令的簡寫。

break

設置一個斷點,這個命令需要指定代碼行或者函數名作為參數

clear

刪除一個斷點,這個命令需要制定代碼行或者函數名作為參數

continue

調試器停止的地方繼續執行

Ctrl-C

在當前位置停止執行正在執行的程序,斷點在當前行

disable

禁止斷點功能,這個命令需要禁止的斷點在斷點列表索引值作為參數

display

在斷點的停止的地方,顯示指定的表達式的值。(顯示變量)

enable

允許斷點功能,這個命令需要允許的斷點在斷點列表索引值作為參數

finish

繼續執行,知道當前函數返回

ignore

忽略某個斷點制定的次數。例:ignore 4 23 忽略斷點423次運行,在第24次的時候中斷

info breakpoints

查看斷點信息

info display

查看設置的需要顯示的表達式的信息

kill

終止當前debug的進程

list

顯示10行代碼。如果沒有提供參數給這個命令,則從當前行開始顯示10行代碼。
如果提供了函數名作為參數,則從函數開頭顯示。如果提供代碼行的編號作為參
數,這一行作為開頭顯示。

load

動態載入一個可執行文件到調試器。

next

執行下一行的源代碼的所有指令。如果是函數調用,則也當作一行源代碼,執行到此函數返回

nexti

執行下一行的源代碼中的一條匯編指令

print

顯示變量的值

ptype

顯示變量的類型

return

強制從當前函數返回

run

從程序開始的地方執行

rwatch

指定一個變量,如果這個變量被讀,則暫停程序運行,在調試器中顯示信息,并等待下一個調試命令。參考rwatchwatch命令。

set

設置變量的值。例如:set nval=54 將把54保存到nval變量中

step

繼續執行程序下一行源代碼的所有指令。如果是調用函數,這個命令將進入函數的內部,單步執行函數中代碼。

stepi

繼續執行程序下一行源代碼中的匯編指令。如果是函數調用,這個命令將進入函數的內部,單步執行函數中的匯編代碼。

txbreak

在當前函數的退出的點上設置一個臨時的斷點(只可使用一次)。

undisplay

刪除一個display設置的變量顯示。這個命令需要將display list中的索引做參數。

watch

指定一個變量,如果這個變量被寫,則暫停程序運行,在調試器中顯示信息,并等待下一個調試命令。參考rwatchwatch命令。

whatis

顯示變量的值和類型。

xbreak

在當前函數的退出的點上設置一個斷點。