使用gcc編譯gdb除錯

2022-02-05 12:03:29 字數 1326 閱讀 2609

在linux系統中,預設是沒有安裝gcc編譯器的,可以通過命令

rpm -q | grep gcc

來檢視。安裝命令為:

yum -y install gcc

安裝後,編寫乙個.c結尾的檔案。

gcc test.c

就會預設輸出乙個a.out的輸出檔案,這個輸出檔案就是可執行檔案。

如果加上-o選項,則可以自定目標檔案。

gcc -o test test.c

test就是它的可執行檔案。

一般都預設加上-wall 選項,可以自動提示一些出錯警告的資訊。

gcc -wall -o test test.c

以上就是常用的gcc相關知識了。下面就是它的除錯,除錯通常使用gdb。在編譯的時候需要加上選項-ggdb3選項

gcc -ggdb3 -wall -o test test.c

這樣在沒有出錯的情況下

gdb test

就進入除錯視窗

輸入下面命令可以進行如下的操作:

break 設定斷點

break 21 在第21行設定斷點

break main 在main函式處設定斷點

break test 在函式test處設定斷點

step /  s  下一步,直接執行下一條程式

continue / cont 下一段,如果遇到函式,不會進入函式,逐過程,有點類似vs裡面的f10

run 執行

finish 結束除錯

tbreak設定臨時斷點

print / p 顯示某個變數的值

p *array@len 輸出陣列

p i 輸出i的值

enable 恢復失效的斷點

disable 使斷點失效

clear 清除斷點

backtrace / bt 檢視堆疊資訊

相關的輸出格式

x 十六進製制格式

d 十進位制格式

u 十六進製制無符號

o 八進位制顯示

t 二進位制顯示

a 十六進製制顯示

c 字元格式顯示

f 浮點數格式顯示

gcc編譯與gdb除錯簡要步驟

gcc編譯過程主要的4個階段 l 預處理階段,完成巨集定義和include檔案展開等工作 i l 根據編譯引數進行不同程度的優化,編譯成彙編 s.s l 用彙編器把彙編 進一步生成目標 o l 用聯結器把生成的目標 和系統或使用者提供的庫連線起來,生成可執行檔案 格式 l gcc e test.c ...

GCC編譯器得使用和gdb除錯得使用

參考文章 這個文章步驟比較詳細 1 建立.c檔案 touch helloword.c 3 帶有除錯資訊的編輯 gcc g helloword.c o helloword 注 g 就是gdb的意思 o 之後的名字是編譯之後生成的編譯檔案的名字,如果沒有這一項,則會自動生成a.out 檔案。4 然後進入...

GCC編譯器和GDB偵錯程式

gcc gnu compiler collection 是目前linux下最常用的c語言編譯器,它是gnu專案中符合ansi c標準的編譯系統,可以在多種硬體平台上編譯出可執行程式的超級編譯器,執行效率與一般的編譯器相比平均效率要高20 30 在終端中輸入下列命令 gcc options filen...