在板子中調(diào)試
上面的方法是直接在 ubuntu 調(diào)試源代碼,只能查看源代碼的錯(cuò)誤,如果你想要你的應(yīng)用程序在板子中運(yùn)行,想打出它在板子上運(yùn)行的 bug,就要采用下面的方法。
一般的桌面 Linux 系統(tǒng),比如 ubuntu、centos 等,我們可以直接運(yùn)行 gdb 來(lái)調(diào)試程序。但是嵌入式中芯片性能一般比較弱,所以直接在嵌入式系統(tǒng)中運(yùn)行 gdb 不太現(xiàn)實(shí)(性能強(qiáng)大的嵌入式芯片可以這么做)。嵌入式系統(tǒng)中一般在 PC 端運(yùn)行 gdb 工具,源碼也是在 PC 端,源碼對(duì)應(yīng)的可執(zhí)行文件放到開(kāi)發(fā)板中運(yùn)行。為此我們需要在開(kāi)發(fā)板中運(yùn)行 gdbserver,通過(guò)網(wǎng)絡(luò)與 PC 端的 gdb 進(jìn)行通信。因此要想在 PC 上通過(guò) gdb 調(diào)試嵌入式程序,那么需要兩個(gè)東西:gdb 和 gdbserver,其中 gdb 是運(yùn)行在 PC 上的,gdbserver 需要我們移植到開(kāi)發(fā)板上。
實(shí)操如下:
博主在 ubuntu 中為 imx6ull 開(kāi)發(fā)板安裝過(guò)交叉編譯工具鏈,該工具鏈自帶了 gdb 調(diào)試工具。包含了 arm-linux-gnueabihf-gdb 和 gdbserver。
將 gdbserver 拷貝到開(kāi)發(fā)板 /bin 目錄下。將上文編譯出來(lái)的 gdbtest 文件拷貝到板子中。
確保 ubuntu和開(kāi)發(fā)板可以進(jìn)行網(wǎng)絡(luò)通信。在開(kāi)發(fā)板中輸入如下命令:
gdbserver 192.168.31.121:2001 gdbtest //啟動(dòng)開(kāi)發(fā)板上的 gdbserver
192.168.31.121 為 ubuntu 的 IP 地址,2001 是端口號(hào), 可以任意給一個(gè)端口號(hào),gdbtest 是要調(diào)試的可執(zhí)行文件。輸入以后開(kāi)發(fā)板輸出信息如圖所示:
接著在 ubuntu 中輸入如下命令啟動(dòng) gdb 調(diào)試工具:
arm-linux-gnueabihf-gdb gdbtest
如果該命令不能運(yùn)行,請(qǐng)將你交叉編譯工具鏈的目錄配置到 /etc/profile 文件最后,并且在命令行輸入 source /etc/profile,其實(shí)就是讓你的環(huán)境變量生效。
結(jié)果如圖所示:
圖中最下面的(gdb)行用于輸入命令,輸入如下命令連接到開(kāi)發(fā)板上:
target remote 192.168.31.207:2001 //連接到開(kāi)發(fā)板上
上述命令表示連接到開(kāi)發(fā)板上,其中 192.168.31.207 就是開(kāi)發(fā)板 IP 地址,2001 就是開(kāi)發(fā)板 gdbserver 設(shè)置的端口號(hào)。連接成功以后開(kāi)發(fā)板中的 gdbserver 就會(huì)提示連接信息,
連接成功以后就可以 在 ubuntu 上進(jìn)行代碼調(diào)試了,調(diào)試的文件是在板子上運(yùn)行的 ,可以復(fù)現(xiàn)你想要的信息,比如可以打出你的應(yīng)用程序在板子上的 bug。
-
嵌入式
+關(guān)注
關(guān)注
5125文章
19438瀏覽量
313191 -
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
5389瀏覽量
100982 -
gdb
+關(guān)注
關(guān)注
0文章
60瀏覽量
13491
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
使用GDB調(diào)試Linux應(yīng)用程序
如何在Ubuntu下使用QT通過(guò)gdb遠(yuǎn)程調(diào)試板子呢
gdb調(diào)試器解析
在Linux中如何使用gdb調(diào)試C程序?
使用 GDB 調(diào)試多進(jìn)程程序
Linux應(yīng)用的GDB調(diào)試的原理及過(guò)程分析

GDB調(diào)試原理是什么?
OpenHarmony系統(tǒng)使用gdb調(diào)試init
在ubuntu中調(diào)試GDB

GDB調(diào)試工具的原理

如何使用GDB調(diào)試工具

評(píng)論