一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在板子中調(diào)試GDB的方法

麥辣雞腿堡 ? 來(lái)源:嵌入式Linux系統(tǒng)開(kāi)發(fā) ? 作者:嵌入式Linux系統(tǒng)開(kāi) ? 2023-07-27 16:37 ? 次閱讀

在板子中調(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。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5125

    文章

    19438

    瀏覽量

    313191
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5389

    瀏覽量

    100982
  • gdb
    gdb
    +關(guān)注

    關(guān)注

    0

    文章

    60

    瀏覽量

    13491
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    使用GDB調(diào)試Linux應(yīng)用程序

    本篇講解使用GDB調(diào)試Linux應(yīng)用程序,以下以 `hellowld.c` 為例介紹 GDB調(diào)試入門。
    發(fā)表于 06-27 15:48 ?550次閱讀

    RK3568-GDB程序調(diào)試方法說(shuō)明

    RK3568-GDB程序調(diào)試方法說(shuō)明
    的頭像 發(fā)表于 01-19 16:16 ?2443次閱讀
    RK3568-<b class='flag-5'>GDB</b>程序<b class='flag-5'>調(diào)試</b><b class='flag-5'>方法</b>說(shuō)明

    TLT507-GDB程序調(diào)試方法說(shuō)明

    TLT507-GDB程序調(diào)試方法說(shuō)明
    的頭像 發(fā)表于 01-26 10:11 ?1117次閱讀
    TLT507-<b class='flag-5'>GDB</b>程序<b class='flag-5'>調(diào)試</b><b class='flag-5'>方法</b>說(shuō)明

    如何在Ubuntu下使用QT通過(guò)gdb遠(yuǎn)程調(diào)試板子

    我想在Ubuntu下使用QT通過(guò)gdb遠(yuǎn)程調(diào)試板子,結(jié)果gdb編譯后無(wú)法板子上運(yùn)行。虛擬機(jī):L
    發(fā)表于 01-10 06:01

    GDB調(diào)試命令手冊(cè)

    GDB調(diào)試命令手冊(cè),感興趣的可以下載看看。
    發(fā)表于 11-05 16:36 ?9次下載

    gdb調(diào)試器解析

    3.4 gdb調(diào)試調(diào)試是所有程序員都會(huì)面臨的問(wèn)題。如何提高程序員的調(diào)試效率,更好、更快地定位程序的問(wèn)題從而加快程序開(kāi)發(fā)的進(jìn)度,是大家都
    發(fā)表于 10-18 13:49 ?1次下載

    Linux如何使用gdb調(diào)試C程序?

    通俗的講,GDB 可以讓你看到程序執(zhí)行過(guò)程時(shí)的內(nèi)部流程,并幫你明確問(wèn)題的所在。我們將在下一節(jié)通過(guò)一個(gè)有效的示例來(lái)討論 GDB 調(diào)試器的用法,但在此之前,我們先來(lái)探討一些之后對(duì)你有幫助
    發(fā)表于 04-28 15:37 ?1773次閱讀

    使用 GDB 調(diào)試多進(jìn)程程序

    的特點(diǎn)或者其他一些輔助手段來(lái)達(dá)到目的。此外,GDB較新內(nèi)核上加入一些多進(jìn)程調(diào)試支持。接下來(lái)我們?cè)敿?xì)介紹幾種方法,分別是 follow-fork-mode
    發(fā)表于 04-02 14:33 ?634次閱讀

    Linux應(yīng)用的GDB調(diào)試的原理及過(guò)程分析

    GDB調(diào)試是應(yīng)用程序開(kāi)發(fā)板上運(yùn)行,然后PC機(jī)上對(duì)開(kāi)發(fā)板上得應(yīng)用程序進(jìn)行調(diào)試,PC機(jī)運(yùn)行GDB
    發(fā)表于 03-05 09:44 ?3534次閱讀
    Linux應(yīng)用的<b class='flag-5'>GDB</b><b class='flag-5'>調(diào)試</b>的原理及過(guò)程分析

    GDB調(diào)試原理是什么?

    一、前言這篇文章來(lái)聊聊大名鼎鼎的GDB,它的豪門背景咱就不提了,和它的兄弟GCC一樣是含著金鑰匙出生的,GNU的家族的地位不可撼動(dòng)。相信每位嵌入式開(kāi)發(fā)工程師都使用過(guò)gdb來(lái)
    的頭像 發(fā)表于 12-18 15:17 ?6028次閱讀

    OpenHarmony系統(tǒng)使用gdb調(diào)試init

    。如果能使用gdb調(diào)試init,會(huì)極大的提高定位效率。 本文簡(jiǎn)單描述了一下L2二次啟動(dòng)的系統(tǒng)如何使用gdb調(diào)試init 首先將gdb打包到系
    的頭像 發(fā)表于 12-26 12:10 ?1078次閱讀

    ubuntu調(diào)試GDB

    ubuntu 調(diào)試 gdbtest.c # include # include int main ( int argc, char *argv[]) { unsigned int times
    的頭像 發(fā)表于 07-27 16:31 ?1301次閱讀
    <b class='flag-5'>在</b>ubuntu<b class='flag-5'>中</b><b class='flag-5'>調(diào)試</b><b class='flag-5'>GDB</b>

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

    一、GDB調(diào)試工具的原理 1.1 未執(zhí)行進(jìn)程調(diào)試 啟用gdb調(diào)試運(yùn)行gdb ./test的時(shí)候,
    的頭像 發(fā)表于 11-09 17:04 ?1160次閱讀
    <b class='flag-5'>GDB</b><b class='flag-5'>調(diào)試</b>工具的原理

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

    qemu-system-x86的pid為269427,則用下面的命令將進(jìn)程附加到GDB調(diào)試 gdb attach 269427 #gdb attach [進(jìn)程號(hào)] 或者先打開(kāi)
    的頭像 發(fā)表于 11-09 17:17 ?1075次閱讀
    如何使用<b class='flag-5'>GDB</b><b class='flag-5'>調(diào)試</b>工具

    如何使用linux下gdb來(lái)調(diào)試python程序

    如何使用linux下gdb來(lái)調(diào)試python程序? Linux下,可以使用GDB(GNU調(diào)試器)來(lái)調(diào)試
    的頭像 發(fā)表于 01-31 10:41 ?3041次閱讀