gcc編譯與gdb調試簡要步驟


http://blog.chinaunix.net/uid-24103300-id-108248.html

一、Linux程序gcc編譯步驟:

Gcc編譯過程主要的4個階段:

l 預處理階段,完成宏定義和include文件展開等工作;(.i)

l 根據編譯參數進行不同程度的優化,編譯成匯編代碼(.s.S)

l 用匯編器把匯編代碼進一步生成目標代碼(.o)

l 用連接器把生成的目標代碼和系統或用戶提供的庫連接起來,生成可執行文件

格式:

l gcc -E test.c//預處理階段

l Gcc -S test.c//編譯階段

l Gcc -c test.c//匯編階段

l Gcc -o test test.c//鏈接階段

二、Linux程序gdb調試步驟:

Gdb的功能:

l 設置斷點

l 監視程序變量的值

l 程序的單步執行

l 顯示、修改變量的值

l 顯示、修改寄存器

l 查看程序的堆棧情況

l 遠程調試

Gdb調試過程:

1、程序經過預處理后,即進入編譯階段,進入編譯階段,首先聲明編譯:

2、格式:gdb -o test test.c -g

3、進入編譯:gdb test

4、顯示需要編譯調試的源程序:l(list)//list filename

5、設置斷點:b(break)行號

6、查看設置的斷點:info b

7、運行調試程序:run

8、跳到下一個斷點:c(continue)

9、單步運行的話使用:n(next)/s(step into)跳到函數體 //區別在與:next執行函數體,而step不執行函數體

10、調試過程中查看某個變量的變化:print i (每次都要手動設置)//display i(設置一次一直尾隨,直到用“undisplay 變量標號” 停止)

11、退出當前的調試使用finish 跳出函數

12、清楚斷點 clear 行號

13、Delete 斷點信息序號// 刪除所有斷點或設置的要刪除的斷點

14、退出調試 q

15、b  num  if  i==20 設置斷點的觸發條件

16、condition num i==50 改變斷點的觸發條件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM