嵌入式系統偵錯程式gdb

2021-10-04 01:19:05 字數 1344 閱讀 8206

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 ...