GDB除錯基礎

2021-10-07 05:46:31 字數 701 閱讀 8074

要使用gdb除錯,gcc編譯時要加上『-g』選項,這樣生成的可執行檔案才能被gdb除錯。

基礎指令

l(list):表示檢視源**,後可跟數字num如:l num,表示檢視**的位置。

b(break):表示設定斷點的位置。b 20 if i=5,用此種方式設定條件斷點,即當for迴圈到i==5時才中斷。

delete:刪除斷點。

r(run):執行程式。

n(next):跳到下一條語句(如果是函式不進入)。

s(step):跳到下一條語句(如果是函式進入)。

p(print):p var,檢視當前作用域內var的值。

display:display var,設定跟蹤變數,每次操作都會列印變數的值 ;要想取消的話用undisplay index,index為變數的編號。

continue:繼續執行程式。

quit:跳出當前除錯。

finish:結束當前函式呼叫。

ptype:檢視變數的型別(執行到當前context下的作用域)。

bt(backtrace):檢視當前存活的棧幀。

fram:根據棧幀編號切換棧幀。

info:檢視各種資訊,如info f,檢視當前棧幀資訊;info line 檢視指定行的原始碼在執行時的記憶體位址。

set follow-fork-mode child/parent:設定gdb的跟蹤物件是子程序還是父程序。

GDB除錯基礎

breakpoint 2,func n 250 at tst.c 5 5 int sum 0,i gdb n 6 for i 1 i n i gdb p i 列印變數i的值,print命令簡寫。1 134513808 gdb n 8 sum i gdb bt 檢視函式堆疊。0 func n 250 ...

程式除錯gdb基礎

gcc 編譯器 gcc是linux平台下最重要的開發工具,它是gnu的c和c 編譯器,它總共提供的編譯選項超過100個,但只有少數幾個會被頻繁使用,收集如下。其基本用法為 gcc options filenames 最簡單的編譯方法是不指定任何編譯選項,會為目標程式生成預設的檔名a.out o 為將...

GDB 基礎除錯總結

gdb是乙個由gnu開源組織發布的 unix linux作業系統下的 基於命令列的 功能強大的程式除錯工具。基礎除錯命令 命令 解釋 示例 file 檔名 載入被除錯的可執行程式檔案。因為一般都在被除錯程式所在目錄下執行gdb,因而文字名不需要帶路徑。gdb file gdb sample rrun...