GDB基本命令

2021-10-19 09:11:00 字數 918 閱讀 4831

編譯時一般需要加 -g選項,eg.  g++ -g test.cpp -o test

用gdb啟動某個程式:

gdb test

開始執行直到結束或者遇到斷點:

run(r)

流程控制:

continue(c)           繼續執行

next(n)                 單步執行,不進入函式內部

step(s)                 單步執行,會進入函式內部

until                     退出迴圈體

until 行號             執行至某一行(需要加檔案名字吧?)

finish                   執行程式,直到當前函式返回,並列印函式返回時的堆疊位址、返回值、引數值。

斷點相關:

info b                                  顯示斷點資訊;

break  xx.cpp:33                在xx.cpp的第33行設定乙個斷點;

break  xx.cpp:33  if a>0     在xx.cpp的第33行設定一條件斷點;

delete 斷點號                     刪除該斷點;

enable/disable 斷點號       使能/禁止該斷點;

堆疊相關:

bt  backtrace                                 顯示當前呼叫堆疊;

print 表示式                                   列印上下文變數

gdb基本命令

為了記憶,就打上來與大家分析,常用的gdb除錯命令 bt 檢視各級函式呼叫及引數 finish 連續執行到當前函式返回為止,然後停下來等待命令 f 選擇棧幀 i 檢視當前棧幀區域性變數的值 l 列出源 list 行號 列出從第幾行開始的源 list 函式名 列出某個函式的源 n 執行下一條語句 p ...

gdb基本命令

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

GDB基本命令

借用阿甘老媽的一句話 life is like a box of chocolates,you never know what you re going to get.自己做夢也不會想到,多年之後又回到linux的世界中。生活中的事情有太多不確定性,但如果你準備的夠充分,再怎麼變化,也都在你的掌控之...