整理常用的gdb除錯的命令

2021-10-14 14:16:37 字數 1675 閱讀 3658

命令

描述file [filename]

裝入想要除錯的可執行檔案

kill [filename]

終止正在除錯的程式

break [file:]function

在(file檔案的)function函式中設定乙個斷點

clear

刪除乙個斷點,這個命令需要指定**行或者函式名作為引數

run [arglist]

執行您的程式 (如果指定了arglist,則將arglist作為引數執行程式)

bt backtrace:

顯示程式堆疊資訊

print expr

列印表示式的值

continue

繼續執行您的程式 (在停止之後,比如在乙個斷點之後)

list

列出產生執行檔案的源**的一部分

next

單步執行 (在停止之後); 跳過函式呼叫

nexti

執行下一行的源**中的一條彙編指令

set設定變數的值。例如:set nval=54 將把54儲存到nval變數中

step

單步執行 (在停止之後); 進入函式呼叫

stepi

繼續執行程式下一行源**中的彙編指令。如果是函式呼叫,這個命令將進入函式的內部,單步執行函式中的彙編**

watch

使你能監視乙個變數的值而不管它何時被改變

rwatch

指定乙個變數,如果這個變數被讀,則暫停程式執行,在偵錯程式中顯示資訊,並等待下乙個除錯命令。參考rwatch和watch命令

awatch

指定乙個變數,如果這個變數被讀或者被寫,則暫停程式執行,在偵錯程式中顯示資訊,並等待下乙個除錯命令。參考rwatch和watch命令

ctrl-c

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

disable

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

display

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

undisplay

刪除乙個display設定的變數顯示。這個命令需要將display list中的索引做引數

enable

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

finish

繼續執行,直到當前函式返回

ignore

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

info [name]

檢視name資訊

load

動態載入乙個可執行檔案到偵錯程式

xbreak

在當前函式的退出的點上設定乙個斷點

whatis

顯示變數的值和型別

ptype

顯示變數的型別

return

強制從當前函式返回

txbreak

在當前函式的退出的點上設定乙個臨時的斷點(只可使用一次)

make

使你能不退出 gdb 就可以重新產生可執行檔案

shell

使你能不離開 gdb 就執行 unix shell 命令

help [name]

顯示gdb命令的資訊,或者顯示如何使用gdb的總體資訊

quit

退出gdb

GDB除錯命令整理

基本功能 列印堆疊 bt backtrace 檢視 根據行號 list xx 檢視xx行 檢視除錯所處範圍 當前偵 frame 斷點新增斷點 根據行號新增 break xx,在xx行新增斷點 break xx,在當前行前面xx行新增斷點 break xx,在當前行後面xx行新增斷點 根據檔名和行號新...

常用的gdb除錯命令

一.gdb常用命令 命令 描述backtrace 或bt 檢視各級函式呼叫及引數 finish 連續執行到當前函式返回為止,然後停下來等待命令 frame 或f 幀編號 選擇棧幀 info 或i locals 檢視當前棧幀區域性變數的值 list 或l 列出源 接著上次的位置往下列,每次列10行 l...

GDB除錯 常用的命令

首先說明一點,如果我們要使用gdb來除錯我們的c c 程式時,在使用gcc編譯程式時,應該帶上 g 引數,它負責生成 與gdb相關的除錯資訊 方法一 命令列輸入 gdb filename 方法二 命令列輸入 gdb 進行gdb工作介面以後,再輸入命令 file filename 其中file為gdb...