Linux下GDB除錯簡單示例

2021-08-10 11:54:15 字數 781 閱讀 6679

這裡介紹對檔案second.c的基本gdb除錯操作,只有部分命令,只是乙個示例,執行環境為裝有gcc編譯器和gdb偵錯程式的linux環境,基本gdb除錯命令如下表:

命令               描述

backtrace(或bt)  檢視各級函式呼叫及引數

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

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

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

list(或l)       列出源**,接著上次的位置往下列,每次列10行

list 行號       列出從第幾行開始的源**

list 函式名       列出某個函式的源**

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

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

set var           修改變數的值

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

step(或s)       執行下一行語句,單步調試用這個

x               檢視變數記憶體

b               後面加行號表示在該行打斷點

c               繼續執行到下乙個斷點

r               執行

quit           退出除錯

vi               後面加檔名可以開啟檔案用vim進行編輯

linux下的gdb除錯

如果編譯時,增加了引數 g,就會生成帶源 除錯符號的可執行檔案。增加的除錯符號一般會使檔案變的大一點。gcc o xx xx.c g 進一步地,就可以執行下面的指令啟動除錯工具進入除錯環境對程式進行除錯了。gdb xx 在除錯環境下,可以輸入下列指令來控制除錯。l n第乙個字母是小寫的l,列出第n行...

linux下安裝gdb除錯

1 arm linux gcc 每一種硬體都有其對應的最好的編譯工具,並不是最新的最好。其實思想很簡單,就是在宿主機 pc 上編譯目標板子上執行的程式。所以工具鏈要用目標板的,這樣去編譯生成可執行的二進位制檔案。這裡有乙個工具製作工具鏈,雖然它可以自動下,還是先下好吧自己,那個速度,呵呵。2 arm...

linux下的gdb除錯

在看gdb除錯多執行緒多程序之前,我們先來回顧一下gdb除錯的一些基本命令 首先vim乙個檔案,然後進行編譯用命令 gcc o test 所要生成的檔案 test1 你剛剛寫的檔案 g 檢查沒有問題後,再gdb test對你寫的檔案進行除錯。進入gdb後,有這些命令可以用 b 行號 表示在哪一行打了...