Linux程式設計之gdb除錯

2021-07-30 14:11:01 字數 1563 閱讀 5039

1 在程式中設定斷點,當程式執行到斷點處暫停

2 顯示變數的值,可以列印或者監視某個變數,將某個變數的值顯示出來

3 單步執行

4 執行時修改變數的值

5 跟蹤路徑

6 執行緒切換

等等下面以以下程式為例

當我們要使用gdb進行程式的除錯時,在用gcc編譯時需要加上-g,如下:

gdb之所以能夠進行程式的除錯也是在於進行編譯時的-g選項,當設定了這個選項的時候,gcc會向程式中塞入一下資訊,作為gdb除錯時的鋪墊

,然後gdb才能夠利用這些鋪墊和資訊與程式互動。

有兩種方式可以進入gdb,一種就是直接在命令列上輸入gdb,然後再在gdb中用file命令載入要除錯的程式:

另一種就是,直接在命令列上使用:gdb 程式名

這兩種方法都是要在gdb中載入已經做了鋪墊的將被除錯的程式。

進行gdb並且載入了程式後,我們就可以進行一系列的除錯操作了:

1 用 「set args 引數值1  引數值2….」來設定輸入引數

2用「list 開始的行號」來列印內容

list 還可以選取區間來列印**:

3.用 」b 位置」設定斷點

4.用 「run 引數」來執行程式

5.用」display 變數名「來顯示變數

6.用」c」來繼續執行程式

7.用set命令來改變變數的值

8用q命令來退出gdb

9 用p命令來列印變數的值

10 設定條件斷點

11 用delete刪除斷點

12 用info break 來顯示斷點資訊

13.用bt來顯示函式呼叫路徑

14用whatis或者ptype來顯示變數的型別

Linux c 程式設計 GDB除錯

gcc g o 編譯後的檔名 需要編譯的c檔案 如 gcc g o test test.c命令 命令縮寫 命令說明 list l顯示多行源 break b設定斷點,程式執行到斷點的位置會停下來 info i描述程式的狀態 runr 開始執行程式 display disp 跟蹤檢視某個變數,每次停下來...

linux歷程 GDB除錯

1 gdb主要完成三方面功能 啟動被除錯程式 讓被除錯程式在指定位置停住 當程式被停住時,可以檢查程式狀態 如變數值 2 gdb命令 啟動gdb 兩種方法 1 gdb 除錯程式名 如 gdb helloword 2 gdb file 除錯程式名 list l 檢視程式 括號內表示也可用縮寫 brea...

系統程式設計 LINUX系統結構 GDB除錯

linux體系結構大致可以分為兩塊 1 使用者空間 使用者空間中又包含了,使用者的應用程式,c庫 linux 核心由如下幾部分組成 記憶體管理 程序管理 裝置驅動程式 虛擬檔案系統和網路介面等 1 記憶體管理 記憶體管理主要完成的是如何合理有效地管理整個系統的物理記憶體,同時快速響應核心各個子系統對...