linux下的C語言開發(gdb除錯) 03

2022-03-24 15:23:49 字數 938 閱讀 9524

編寫**過程中少不了除錯。在windows下面,我們有visual studio工具。在linux下面呢,實際上除了gdb工具之外,你沒有別的選擇。那麼,怎麼用gdb進行除錯呢?我們可以一步一步來試試看。

[cpp]view plain

copy

#include 

intiterate(

intvalue)  

intmain()  

既然需要除錯,那麼生成的可執行檔案就需要包含除錯的資訊,這裡應該怎麼做呢?很簡單,輸入 gcc test.c -g -o test。輸入命令之後,如果沒有編譯和鏈結方面的錯誤,你就可以看到 可執行檔案test了。

除錯的步驟基本如下所示,

(01) 首先,輸入gdb test

(02) 進入到gdb的除錯介面之後,輸入list,即可看到test.c原始檔

(03) 設定斷點,輸入 b main 

(04) 啟動test程式,輸入run 

(05) 程式在main開始的地方設定了斷點,所以程式在printf處斷住

(06) 這時候,可以單步跟蹤。s單步可以進入到函式,而n單步則越過函式

(07) 如果希望從斷點處繼續執行程式,輸入c

(08) 希望程式執行到函式結束,輸入finish

(09) 檢視斷點資訊,輸入 info break

(10) 如果希望檢視堆疊資訊,輸入bt

(11) 希望檢視記憶體,輸入 x/64 + 記憶體位址

(12) 刪除斷點,則輸入delete break + 斷點序號

(13) 希望檢視函式區域性變數的數值,可以輸入print + 變數名

(14) 希望實時列印變數的數值,可以輸入display + 變數名

(15) 檢視函式的彙編**,輸入 disassemble + 函式名

(16) 退出除錯輸入quit即可

linux下的C語言開發(gdb除錯)

編寫 過程中少不了除錯。在windows下面,我們有visual studio工具。在linux下面呢,實際上除了gdb工具之外,你沒有別的選擇。那麼,怎麼用gdb進行除錯呢?我們可以一步一步來試試看。cpp view plain copy include int iterate int value...

linux下的C語言開發(gdb除錯)

平凡的程式設計師 編寫 過程中少不了除錯。在windows下面,我們有visual studio工具。在linux下面呢,實際上除了gdb工具之外,你沒有別的選擇。那麼,怎麼用gdb進行除錯呢?我們可以一步一步來試試看。cpp view plain copy include intiterate i...

linux下的C語言開發 gdb除錯

編寫 過程中少不了除錯。在windows下面,我們有visual studio工具。在linux下面呢,實際上除了gdb工具之外,你沒有別的選擇。那麼,怎麼用gdb進行除錯呢?我們可以一步一步來試試看。include int iterate int value int main 既然需要除錯,那麼生...