linux編程之GDB調試

GDB是一套字符界面的程序集,可以用它在linux上調試C和C++程序,它提供了以下的功能:

1 在程序中設置斷點,當程序運行到斷點處暫停

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

3 單步執行

4 運行時修改變量的值

5 跟蹤路徑

6 線程切換

等等

下面以以下程序為例

linux編程之GDB調試

linux編程之GDB調試

當我們要使用GDB進行程序的調試時,在用GCC編譯時需要加上-g,如下:

linux編程之GDB調試

GDB之所以能夠進行程序的調試也是在於進行編譯時的-g選項,當設置了這個選項的時候,GCC會向程序中塞入一下信息,作為GDB調試時的鋪墊

,然後GDB才能夠利用這些鋪墊和信息與程序交互。

有兩種方式可以進入GDB,一種就是直接在命令行上輸入gdb,然後再在gdb中用file命令加載要調試的程序:

linux編程之GDB調試

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

linux編程之GDB調試

這兩種方法都是要在GDB中加載已經做了鋪墊的將被調試的程序。

進行GDB並且加載了程序後,我們就可以進行一系列的調試操作了:

1 用 "set args 參數值1 參數值2...."來設置輸入參數

2用“list 開始的行號"來打印內容

linux編程之GDB調試

linux編程之GDB調試

list 還可以選取區間來打印代碼:

linux編程之GDB調試

3.用 ”b 位置"設置斷點

4.用 “run 參數”來運行程序

linux編程之GDB調試

5.用"display 變量名“來顯示變量

6.用”c"來繼續運行程序

linux編程之GDB調試

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

linux編程之GDB調試

8用q命令來退出GDB

linux編程之GDB調試

9 用p命令來打印變量的值

10 設置條件斷點

11 用delete刪除斷點

linux編程之GDB調試

12 用info break 來顯示斷點信息

linux編程之GDB調試

13.用bt來顯示函數調用路徑

linux編程之GDB調試

14用whatis或者ptype來顯示變量的類型

linux編程之GDB調試

文末給大家附上一份c/c++ Linux入門到精通的學習大綱、希望可以幫助到大家、需要視頻學習的朋友可以後臺私信【架構】獲取學習視頻鏈接


linux編程之GDB調試


分享到:


相關文章: