那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在板子中調試GDB的方法

麥辣雞腿堡 ? 來源:嵌入式Linux系統開發 ? 作者:嵌入式Linux系統開 ? 2023-07-27 16:37 ? 次閱讀

在板子中調試

上面的方法是直接在 ubuntu 調試源代碼,只能查看源代碼的錯誤,如果你想要你的應用程序在板子中運行,想打出它在板子上運行的 bug,就要采用下面的方法。

一般的桌面 Linux 系統,比如 ubuntu、centos 等,我們可以直接運行 gdb 來調試程序。但是嵌入式芯片性能一般比較弱,所以直接在嵌入式系統中運行 gdb 不太現實(性能強大的嵌入式芯片可以這么做)。嵌入式系統中一般在 PC 端運行 gdb 工具,源碼也是在 PC 端,源碼對應的可執行文件放到開發板中運行。為此我們需要在開發板中運行 gdbserver,通過網絡與 PC 端的 gdb 進行通信。因此要想在 PC 上通過 gdb 調試嵌入式程序,那么需要兩個東西:gdb 和 gdbserver,其中 gdb 是運行在 PC 上的,gdbserver 需要我們移植到開發板上。

實操如下:

圖片

博主在 ubuntu 中為 imx6ull 開發板安裝過交叉編譯工具鏈,該工具鏈自帶了 gdb 調試工具。包含了 arm-linux-gnueabihf-gdb 和 gdbserver。

將 gdbserver 拷貝到開發板 /bin 目錄下。將上文編譯出來的 gdbtest 文件拷貝到板子中。

確保 ubuntu和開發板可以進行網絡通信。在開發板中輸入如下命令:

gdbserver 192.168.31.121:2001 gdbtest //啟動開發板上的 gdbserver

192.168.31.121 為 ubuntu 的 IP 地址,2001 是端口號, 可以任意給一個端口號,gdbtest 是要調試的可執行文件。輸入以后開發板輸出信息如圖所示:

圖片

接著在 ubuntu 中輸入如下命令啟動 gdb 調試工具:

arm-linux-gnueabihf-gdb gdbtest

如果該命令不能運行,請將你交叉編譯工具鏈的目錄配置到 /etc/profile 文件最后,并且在命令行輸入 source /etc/profile,其實就是讓你的環境變量生效。

結果如圖所示:

圖片

圖中最下面的(gdb)行用于輸入命令,輸入如下命令連接到開發板上:

target remote 192.168.31.207:2001   //連接到開發板上

上述命令表示連接到開發板上,其中 192.168.31.207 就是開發板 IP 地址,2001 就是開發板 gdbserver 設置的端口號。連接成功以后開發板中的 gdbserver 就會提示連接信息,

圖片

連接成功以后就可以 在 ubuntu 上進行代碼調試了,調試的文件是在板子上運行的 ,可以復現你想要的信息,比如可以打出你的應用程序在板子上的 bug。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5092

    文章

    19177

    瀏覽量

    307663
  • 開發板
    +關注

    關注

    25

    文章

    5121

    瀏覽量

    98194
  • gdb
    gdb
    +關注

    關注

    0

    文章

    60

    瀏覽量

    13346
收藏 人收藏

    評論

    相關推薦

    使用GDB調試Linux應用程序

    本篇講解使用GDB調試Linux應用程序,以下以 `hellowld.c` 為例介紹 GDB調試入門。
    發表于 06-27 15:48 ?486次閱讀

    RK3568-GDB程序調試方法說明

    RK3568-GDB程序調試方法說明
    的頭像 發表于 01-19 16:16 ?1987次閱讀
    RK3568-<b class='flag-5'>GDB</b>程序<b class='flag-5'>調試</b><b class='flag-5'>方法</b>說明

    TLT507-GDB程序調試方法說明

    TLT507-GDB程序調試方法說明
    的頭像 發表于 01-26 10:11 ?1028次閱讀
    TLT507-<b class='flag-5'>GDB</b>程序<b class='flag-5'>調試</b><b class='flag-5'>方法</b>說明

    如何在Ubuntu下使用QT通過gdb遠程調試板子

    我想在Ubuntu下使用QT通過gdb遠程調試板子,結果gdb編譯后無法板子上運行。虛擬機:L
    發表于 01-10 06:01

    GDB調試命令手冊

    GDB調試命令手冊,感興趣的可以下載看看。
    發表于 11-05 16:36 ?9次下載

    gdb調試器解析

    3.4 gdb調試調試是所有程序員都會面臨的問題。如何提高程序員的調試效率,更好、更快地定位程序的問題從而加快程序開發的進度,是大家都
    發表于 10-18 13:49 ?1次下載

    Linux如何使用gdb調試C程序?

    通俗的講,GDB 可以讓你看到程序執行過程時的內部流程,并幫你明確問題的所在。我們將在下一節通過一個有效的示例來討論 GDB 調試器的用法,但在此之前,我們先來探討一些之后對你有幫助
    發表于 04-28 15:37 ?1704次閱讀

    使用 GDB 調試多進程程序

    的特點或者其他一些輔助手段來達到目的。此外,GDB較新內核上加入一些多進程調試支持。接下來我們詳細介紹幾種方法,分別是 follow-fork-mode
    發表于 04-02 14:33 ?572次閱讀

    Linux應用的GDB調試的原理及過程分析

    GDB調試是應用程序開發板上運行,然后PC機上對開發板上得應用程序進行調試,PC機運行GDB
    發表于 03-05 09:44 ?3459次閱讀
    Linux應用的<b class='flag-5'>GDB</b><b class='flag-5'>調試</b>的原理及過程分析

    GDB調試原理是什么?

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

    OpenHarmony系統使用gdb調試init

    。如果能使用gdb調試init,會極大的提高定位效率。 本文簡單描述了一下L2二次啟動的系統如何使用gdb調試init 首先將gdb打包到系
    的頭像 發表于 12-26 12:10 ?976次閱讀

    ubuntu調試GDB

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

    GDB調試工具的原理

    一、GDB調試工具的原理 1.1 未執行進程調試 啟用gdb調試運行gdb ./test的時候,
    的頭像 發表于 11-09 17:04 ?1002次閱讀
    <b class='flag-5'>GDB</b><b class='flag-5'>調試</b>工具的原理

    如何使用GDB調試工具

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

    如何使用linux下gdb調試python程序

    如何使用linux下gdb調試python程序? Linux下,可以使用GDB(GNU調試器)來調試
    的頭像 發表于 01-31 10:41 ?2739次閱讀
    百家乐官网真人游戏| 百家乐官网连线游戏下载| 大发888娱乐总代理qq| 20人百家乐桌| 千亿娱百家乐的玩法技巧和规则| 百家乐娱乐网真人娱乐网| 七胜百家乐娱乐场| 爱赢百家乐的玩法技巧和规则| 2024年九运的房屋风水吉凶| 百家乐视频游戏界面| 百家乐赌场代理荐| 百家乐小路规则| 吕百家乐赢钱律| 全讯网365| 顶级赌场官网| 网上现金游戏网 | 百家乐官网的必胜方法| 百家乐官网信誉平台现金投注 | 百家乐游戏客户端| 威尼斯人娱乐棋牌是真的吗| 大发888在线官方| 赌博投注| 澳门百家乐官网玩| 百家乐官网职业打| 好运来百家乐现金网| 钱隆百家乐大师| 大发888娱乐城真假| 惠水县| 百家乐官网庄闲赢负表| 百家乐对子赔率| 百家乐软件代理打| 在线赌博网| 百家乐官网公式书| 玩百家乐678娱乐城| 威尼斯人娱乐城最新地址| 网上棋牌游戏| 皇冠百家乐官网代理网址| 百家乐怎么刷反水| 大发888客户端安装| 百家乐官网怎么样玩| 24山玄空飞星排盘图|