1. 程式人生 > >linux中gdb的視覺化除錯

linux中gdb的視覺化除錯

今天get到一個在linux下gdb除錯程式的技巧和大家分享一下!平時我們利用gcc進行程式設計,進行程式除錯時,觀察程式的跳轉等不是這麼直觀。都是入下的介面!

  但是如果我們在編譯連線時上加了-g命令生成的可執行檔案,用gdb -tui -q p2psrv(要debug的命令),就可以進入一個類似的視覺化的除錯介面。

  之後相信一些基本的gdb操作大家都應該清楚。

backtrace:檢視各級函式呼叫及引數

finish:連續執行到當前函式返回為止,然後停下來等待命令

frame(或f) 幀編號 :選擇棧幀

info(或i) locals :檢視當前棧幀區域性變數的值

list(或l):列出原始碼,接著上次的位置往下列,每次列10行

list 函式名: 列出某函式的原始碼

next(n):執行下一行語句

print(或p):打印表達式的值,通過表示式可以修改變數的值或者呼叫函式

quit(或q):退出gdb除錯環境

set var:修改變數的值

start:開始執行程式,停在main函式第一句前面等待命令

step;執行下一句語句,如果有函式呼叫則進入函式中

  大家可以趕快去試一下吧!

命令描述
backtrace(或bt) 檢視各級函式呼叫及引數
finish 連續執行到當前函式返回為止,然後停下來等待命令
frame(或f) 幀編號 選擇棧幀
info(或i) locals 檢視當前棧幀區域性變數的值
list(或l) 列出原始碼,接著上次的位置往下列,每次列10行
list 行號 列出從第幾行開始的原始碼
list 函式名 列出某個函式的原始碼
next(或n) 執行下一行語句
print(或p) 打印表達式的值,通過表示式可以修改變數的值或者呼叫函式
quit(或q) 退出gdb除錯環境
set var 修改變數的值
start 開始執行程式,停在main函式第一行語句前面等待命令
step(或s) 執行下一行語句,如果有函式呼叫則進入到函式中