gdb基本除錯命令

2021-07-11 19:54:17 字數 1323 閱讀 8196

因為近期在vim編輯器裡面嘗試著寫寫程式,然後就接觸到了gdb除錯。

才剛剛接觸還是不很懂,像什麼設定斷點呀單步除錯呀什麼的,現在還沒怎麼用上。在這裡只是先寫一些自己剛剛學到的。之後的以後用到了在補充。

首先是在vim裡面寫好了乙個簡單的程式,儲存為test_1.c.

#include

int main()

就是上面這個簡單的程式。

然後進行編譯成可執行檔案。

使用的命令是

gcc test_1.c -g -o test_1

假如提示沒有gcc的話,那就是系統還沒有安裝gcc。我用的是yum install gcc命令來安裝的。

這樣test_1裡面就是這個程式的可執行檔案了。

我們可以簡單的使用  ./test_1  來執行這個程式。

但是我們也可以使用gdb命令。

使用命令gdb  test_1就可以進入gdb環境了。

直接使用gdb也可以進來,但是進來之後需要用file  test_1來選擇test_1程式.

這時候我們就可以初步使用gdb命令來除錯這個程式了。

1)進入gdb  #gdb test

test是要除錯的程式,由gcc test.c -g -o test生成。進入後提示符變為(gdb) 。

2)檢視原始碼  (gdb) l

原始碼會進行行號提示。

如果需要檢視在其他檔案中定義的函式,在l後加上函式名即可定位到這個函式的定義及檢視附近的其他原始碼。或者:使用斷點或單步執行,到某個函式處使用s進入這個函式。

3)設定斷點  (gdb) b 6

這樣會在執行到原始碼第6行時停止,可以檢視變數的值、堆疊情況等;這個行號是gdb的行號。

4)檢視斷點處情況  (gdb) info b

可以鍵入"info b"來檢視斷點處情況,可以設定多個斷點;

5)執行**  (gdb) r

6)顯示變數值  (gdb) p n

在程式暫停時,鍵入"p 變數名"(print)即可;

gdb在顯示變數值時都會在對應值之前加上"$n"標記,它是當前變數值的引用標記,以後若想再次引用此變數,就可以直接寫作"$n",而無需寫冗長的變數名;

7)觀察變數  (gdb) watch n

在某一迴圈處,往往希望能夠觀察乙個變數的變化情況,這時就可以鍵入命令"watch"來觀察變數的變化情況,gdb在"n"設定了觀察點;

8)單步執行  (gdb) n

9)程式繼續執行  (gdb) c

使程式繼續往下執行,直到再次遇到斷點或程式結束;

10)退出gdb  (gdb) q

目前我只掌握了這一些。其他的之後再補充。

gdb除錯基本命令

gdb是乙個由gnu開源組織發布的 unix linux作業系統下的 基於命令列的 功能強大的程式除錯工具。對於一名linux下工作的c 程式設計師,gdb是必不可少的工具 對c c 程式的除錯,需要在編譯前就加上 g選項 g g hello.cpp o hello 除錯可執行檔案 gdb prog...

GDB除錯基本命令

一 列檔案清單 list l 列出產生執行檔案的源 的一部分 列出 line1 到 line2 行之間的源 gdb list line1,line2 輸出從上次呼叫list命令開始往後的10行程式 gdb list 輸出第 n 行附近的10行程式 gdb list n 輸出函式function前後的...

GDB除錯基本命令

gdb是乙個強大的命令列除錯工具。大家知道命令列的強大就是在於,其可以形成執行序列,形成指令碼。unix下的軟體全是命令列的,這給程式開發提代供了極大的便利,命令列軟體的優勢在於,它們可以非常容易的整合在一起,使用幾個簡單的已有工具的命令,就可以做出乙個非常強大的功能。一般來說,gdb主要幫忙你完成...