在很多情況下,需要對應用程式進行除錯。在
linux
下除錯程式,常用的工具是
gdb。
由於嵌入式單板的資源有限,一般不直接在目標機上執行
gdb
進行除錯,而是採取
gdb+gdbserver
的方式。
gdbserver
在目標機中執行,
gdb
則在宿主機上執行。根檔案系
統中已經包含
gdbserver
。使用
gdbserver
除錯應用程式的步驟如下所示:
1. 啟動 linux
並登陸進入
shell
。如要進行
gdb
除錯,首先要啟動
gdb server
。方法是先進入需要除錯的程式所在目錄,
如:被除錯的程式檔名是
hello
,則輸入命令:
hisilicon$ gdbserver :2000 hello &
上述命令表示在目標機的
2000
埠開啟了乙個除錯程序,
hello
就是要除錯的程式。
2. 在 linux
伺服器上啟動
gdb
程式,因為目標機為
arm,所以啟動
arm-***x-gdb(
以發布版本真實名稱為準)。
3. 啟動
arm-***x-gdb
後,在命令提示符狀態下輸入命令,與目標機進行連線。
(gdb) target remote 192.168.0.5:2000 /*192.168.0.5為單板ip*/
埠號和目標機開啟的埠號要一致。
4. 連線成功後,會輸出提示資訊,如下所示:
remote debugging using 10.70.153.100:2000
0x40000a70 in ?? ()
5. 進行符號檔案載入:
(gdb) add-symbol-file hello 40000a70
或者使用:
(gdb) file hello
6. 輸入各種 gdb 命令如 list、 run、 next、 step、 break 即可進行程式除錯
使用gdb gdbserver除錯嵌入式程式
如果環境沒有提供交叉編譯程式gdbserver 可以參考交叉編譯步驟 是我除錯的例子,它在客戶端的執行命令如下.monitorall qws font wenquanyi 1.target 端 gdbserver multi 192.168.1.101 1234 啟動gdbserver,監聽192....
嵌入式gdb gdbserver除錯環境搭建與使用
目錄 一 原理 二 環境搭建 三 除錯過程 四 gdb常用命令 1 l list 命令 2 b break 命令 3 c命令 4 s命令 5 n命令 6 p命令 7 q命令 嵌入式系統中一般在 pc端執行 gdb工具,原始碼也是在 pc端,原始碼對應的可執行檔案放到開發板中執行。為此我們需要在開發板...
初識嵌入式 嵌入式開發概述
1 什麼是嵌入式技術 1 嵌入式軟體與非嵌入式軟體的區別?答 嵌入式軟體是結合作業系統之上做的開發 非嵌入式軟體是做的裸機開發。裸機 沒有作業系統 2 嵌入式開發與微控制器開發的區別?答 區別 是否有作業系統。拓展 答 優點 解決了軟體的移植性 解決了開發人員的能力的劃分問題。提供了豐富的網路協議 ...