Linux 下三種工具的預設方式
vim 編輯器的預設打開模式:指令模式
gcc/g++ 編譯器的預設連結方式:動态連結
gdb 調試器的預設版本:release 版本
在前面的部落格中,我講到了vim編輯器 的使用,這裡我主要講一下gcc 編譯器和 gdb 編輯器
1. gcc編譯過程
- 預處理(主要進行宏替換)
- 編譯(用于生成彙編)
- 彙編(生成機器碼)
- 連結(生成可執行檔案)
【Linux】gcc 編譯器 及gdb 調試器
2. gcc 編譯器的使用方法
-0 後面隻能跟可執行程式(生成的對象)
gcc -0 main main.c 或者 gcc main.c -o main
無論上面哪種寫法,main 都是可執行程式的檔案名
搭配操作:
-static : 對生成的檔案采用靜态連結
ldd : 輸出目前程式所依賴的庫
file + 可執行檔案 :檢視目前檔案的狀态
在後面我們會用 make/Makefile 實作自動編譯過程。下篇部落格中講。
3. gdb 調試器版本介紹
debug 版本:開發版,添加了調試資訊,是以允許調試
release 版本:釋出版,不可以被調試
4. gdb 調試器的使用
加 -g 選項可将程式修改為可調試的debug 版本
gdb 檔案名 可進行調試程式
gcc main.c -o main.debug -g
gdb main.debug
搭配操作:
r/run : 運作程式
n/next : 單條執行
s/step : 進入函數調用
b/break : 設定斷點 ( -n 行号為n -函數名)
c/continue :直接跳至下個斷點 / 結束
info b : 檢視斷點資訊
delete b : 删除斷點 (-n 序号為n)
print§ :列印變量p的值
display p :跟蹤檢視變量p的變化
undisplay n:取消跟蹤第n個變量
until n :跳至第n行
finish : 函數直接運作結束
多多支援部落客哈~