1、gnu計畫的工具;核心除錯kgdb
2、程式的錯誤分類:編譯時錯誤:語法錯誤 執行時錯誤:記憶體錯誤,邏輯錯誤
3、gdb的功能:1.執行程式;2.設定斷點;3。檢視變數值
4、hello.c gcc-g hello.c -o hello gdb hello
5、使用
–tui:
layout asm顯示彙編
layout src顯示原始碼
layou split進行分割同時顯示
runfinish
continue
break+行號
break+函式名
break+行號if條件
info break;
delete+斷點編號
enable+斷點編號
disable+斷點編號
單步執行:
step
next
1、工程管理器:編譯很多個檔案(型別不同、存放不再不同目錄、資源檔案使用)組成的軟體**結構
單個.c—gcc hello.c -o hello
10000個.c(分別儲存在100個不同目錄) –
make—makefile
如何編寫makefile檔案?
makefile是個指令碼檔案(批處理)
makefile語法:目標、依賴、命令
目標:依賴
按下tab 命令
執行命令,依賴這個檔案,最終生成目標;
makefile執行順序:自上而下,當你的目標依賴的檔案又是有乙個目標時,會先跳轉到該目標去執行相關命令
make+目標名:從該目標開始自上向下執行;
實現自動編譯:根據makefile檔案的內容進行
「自動編譯」:
1、根據makeflie檔案的內容進行自動編譯
2、根據檔案的時間戳來判斷檔案是否需要編譯
為什麼將.c檔案先編譯生成.o檔案,再由.o檔案生成可執行檔案?
前提:原始檔到可執行檔案:預處理、編譯、彙編、鏈結(1s)
gcc hello.c -ohello 4s
cal:main.c add.c sub.c div.c mul.c
gcc*.c -o cal
20s假設修改了add.c—make:20s
-------------------------make:(.c–>.o)第一次20s 第二次:4s+5s=9s
功能目錄管理軟體**:makefile:
1、總控makefile
進入各個功能目錄執行make,並將所有.o檔案鏈結生成可執行檔案
2、功能目錄makefile
將功能目錄下的原始檔編譯生成目標檔案.o
3、script
嵌入式偵錯程式 GDB
使用gcc除錯c程式時,只能依靠gcc發出的警號或錯誤資訊來進行,所以除錯的效率非常低。為此,gnu開發了gdb偵錯程式。gdb的除錯功能非常強大,甚至可以和visual c 等開發工具箱媲美。但gdb的缺點是沒有圖形除錯介面。儘管如此,對於從事嵌入式linux應用開發的人員還是有必要知道gdb的使...
嵌入式偵錯程式GDB
gdb的除錯功能非常強大,不過,gdb的缺點是沒有圖形除錯介面。通過執行命令 gcc g 檔名 o 檔名 對相應檔案進行編譯,引數g是把除錯資訊加入生成的可執行檔案中。在除錯過程中,可以看到gdb先顯示版本 資訊和庫的相關資訊,等待使用者輸入除錯指令。常用命令 1 檢視原始檔,通過命令l檢視 行數 ...
嵌入式LINUX偵錯程式GDB
一 偵錯程式gdb簡介 功能 gdb是gnu發布的一款功能強大的程式除錯工具。功能 啟動被除錯程式 讓被除錯的程式在指定的位置停住 設定斷點 當程式被停住時,可以檢查程式狀態。二 偵錯程式gdb的使用 1.gcc gdemo.c o demo gdb demo 2.run 啟動被除錯程式 list ...