gdb 命令使用

2021-07-03 04:09:52 字數 744 閱讀 7377

1.gdb -x command.txt

每次重複輸入命令很麻煩,可以使用上面的命令,把命令輸入進command.txt裡面,然後直接就可以執行gdb。

2.list

2.1 list function 列印function源程式

2.2 list line1,line2   列印從line1到line2的程度

3.斷點

檢視當前斷點資訊: info b

4找到乙個函式的入口位址

首先,找到函式在第幾行:lise function

info line 行號

方法二:用objdump生成符號表,通過符號表來知道

objdump -t example >symbol.txt

5.檢視程式棧幀的呼叫

bt顯示的是當前棧幀呼叫,如:

這個表示當前程式總共維護三個棧幀,從下往上看,首先,程式第乙個進入的是main函式,然後再454行的位置呼叫了launch函式,在launch中,呼叫了test函式,而test就是當前程式正在執行的地方。=

上面最左邊的編號就是棧所對應的的棧框,如果要選中某乙個棧,要輸入命令

frame num

如frame 2

選中了main函式的棧框

如果需要更加詳細的資訊,就要使用

info f

得到的詳細棧幀資訊:

包括各種暫存器的位址,通過這些,就可以來跟蹤函式的棧幀。

rip是程式指令的指標,指向嚇一跳要執行的指令。

GDB命令,使用筆記

命令 解釋 示例 file 檔名 載入被除錯的可執行程式檔案。因為一般都在被除錯程式所在目錄下執行gdb,因而文字名不需要帶路徑。gdb file gdb sample rrun的簡寫,執行被除錯的程式。如果此前沒有下過斷點,則執行完整個程式 如果有斷點,則程式暫停在第乙個可用斷點處。gdb r c...

GDB常見使用命令

gdb gnu symbolic debugger 簡單地說就是乙個除錯工具。它是乙個受通用公共許可證即gpl保護的自由軟體。像所有的偵錯程式一樣,gdb可以讓你除錯乙個程式,包括讓程式在你希望的地方停下,此時你可以檢視變數 暫存器 記憶體及堆疊。更進一步你可以修改變數及記憶體值。gdb是乙個功能很...

gdb入門 gdb基本命令

參見 linux c程式設計一站式學習 backtrace 或bt 檢視各級函式呼叫及引數 finish 執行到當前函式返回,然後停下來等待命令 frame 或f 幀編號 選擇棧幀 info 或i locals 檢視當前棧幀區域性變數的值 list 或l 列出源 接著上次的位置往下列,每次列10行 ...