使用gcc除錯c程式時,只能依靠gcc發出的警號或錯誤資訊來進行,所以除錯的效率非常低。
為此,gnu開發了gdb偵錯程式。gdb的除錯功能非常強大,甚至可以和visual c++等開發工具箱媲美。但gdb的缺點是沒有圖形除錯介面。儘管如此,對於從事嵌入式linux應用開發的人員還是有必要知道gdb的使用方法的,例如:
常用命令:1.檢視原始檔。在除錯程式時,在gdb中通過命令l(list的縮寫),可以檢視,所有**行數。同時,gdb以10行為單位進行顯示。再執行一次命令「l」就會顯示下10行**。這種設計方便了源**的閱讀。
2.設定斷點。斷點是除錯程式的重要方法,通過斷點可以知道程式每一步的執行狀況(如當前變數的值、函式是否呼叫、堆疊使用情況等)。在gdb中通過命令b(breakpoint的縮寫)進行斷點設定。
3.檢視斷點情況。由於使用命令「b」可以設定多個斷點,在gdb中通過命令info b「檢視所有的斷點情況。
4.執行程式。在gdb中通過命令「r」」(run的縮寫)執行程式。gdb預設從**的首行開始執行(也可以通過「r 行數」的方式讓程式從指定行數開始執行)。如多程式中有斷點,則程式會在斷點行數的前一行暫停執行。
5.檢視變數值。程式暫停執行後就可以檢視當前的狀態了。在gdb中通過命令「p 變數名」(print的縮寫)檢視當前變數n的值。
6.繼續執行程式。檢視完當前程式的情況後,就可以讓程式繼續往下執行了。在gdb中通過命令c讓程式繼續往下執行。
7.單步執行。在程式邏輯比較複雜的時候往往需要程式能一步一步的往下執行,但如果每行都設定乙個斷點的話優惠很麻煩。在gdb中可以通過命令「s」(step的縮寫)和「n」(next的縮寫)讓程式一步一步的往下執行。其中s可以在發生函式呼叫時進入函式內部執行。而n不會進入函式內部執行。
此外,gdb還具有很多的功能,如程式環境設定、使用shell命令等。在後續會進行更詳細的說明。
嵌入式偵錯程式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 ...
嵌入式系統偵錯程式gdb
1 gnu計畫的工具 核心除錯kgdb 2 程式的錯誤分類 編譯時錯誤 語法錯誤 執行時錯誤 記憶體錯誤,邏輯錯誤 3 gdb的功能 1.執行程式 2.設定斷點 3。檢視變數值 4 hello.c gcc g hello.c o hello gdb hello 5 使用 tui layout asm...