<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

TLT507-GDB程序調試方法說明

Tronlong創龍科技 ? 來源:Tronlong創龍科技 ? 作者:Tronlong創龍科技 ? 2024-01-26 10:11 ? 次閱讀

1 演示程序創建與編譯

在 Ubuntu 工作目錄下執行如下命令,新建一個 GDB 調試演示程序。

Host# mkdir demo

Host# cd demo/

Host# vi demo.c

wKgZomW4TM6AVbMYAACNpGdUnX4262.png

#include

void show() {

printf("shown");

}

int main(int argc, char *argv[])

{

int arr[4] = {1, 2, 3, 4};

int i = 0;

for (i = 0; i < 4; i++) {

printf("arr[%d]: %dn", i, arr[i]);

}

show();

return 0;

}

執行如下命令,進行程序編譯,編譯完成將會生成 demo 可執行程序。

備注:編譯時需添加-g 參數,生成的可執行文件才帶有調試信息。

Host# export PATH=/home/tronlong/T507/LinuxSDK/out/t507/tlt507-evm/longan/buildro

ot/host/bin:$PATH

Host# aarch64-linux-gnu-gcc -g demo.c -o demo

wKgaomW4TO6ACIFvAABQsG2DKAo909.png

評估板與 PC 機連接至同一個路由器后進行上電,將編譯后的可執行文件 demo 拷貝

至評估板文件系統任意目錄下。

Target#

ls

wKgZomW4TPOAYlSvAAAQn4AFhLI438.png

2 調試程序運行

執行如下命令,查看虛擬機的 IP 地址。

Host# ifconfi

wKgZomW4TQuAR0cRAACmYvPJpRE597.png

在評估板文件系統 demo 文件所在路徑下,執行如下命令運行 gdbserver 程序,開啟

監聽。

備注:192.168.13.11 為虛擬機的 IP 地址;1234 為連接的端口號(自行設置);demo 為

將要進行調試的程序。

Target#

gdbserver 192.168.13.11:1234 demo

wKgZomW4TSOASuDsAAAg_CCa2EU120.png

在虛擬機 demo 文件所在路徑下,執行如下命令運行 GDB 調試程序。

Host# aarch64-linux-gnu-gdb demo

wKgZomW4TSmAfxnzAADPLE94amo256.png

執行如下命令,連接評估板。192.168.13.66 為評估板的 IP 地址,請以實際情況為準。

(gdb)

target remote 192.168.13.66:1234

wKgaomW4Ta6ASy4GAABr3cGlMUM859.png

同時,串口調試終端顯示連接成功的相關信息。

wKgaomW4Tb2ADvbHAAArVwk99dI086.png

3 程序調試

本章節主要演示 GDB 調試的幾個常用命令的使用方法。

3.1 list 命令

用于列出源碼,簡寫:l。

wKgZomW4TcSAOE-XAAA4wu97lNI728.png

3.2 break 命令

用于設置斷點,簡寫:b。

分別在 main 函數和第 11 行設置斷點。

wKgaomW4TcyAc7zXAAAgzf-Bx9w262.png

3.3 info breakpoints 命令

用于顯示斷點的狀態,簡寫:info b。

wKgZomW4TeWACC-GAAAptHD3tnc524.png

3.4 continue 命令

用于恢復程序執行,簡寫:c。此命令使 GDB 恢復程序的執行,直至斷點觸發或程序

結束。

wKgaomW4TeuALu-8AADX6RYM6l8991.png

以上調試過程在第二個斷點中,每輸入一次 c 命令,將會依次打印 arr[]數組的元素值,

然后程序執行結束。同時,串口調試終端打印相關信息。

wKgaomW4Tg6ANg34AAA7uIWUYlI800.png

3.5 print 命令

用于打印變量或者變量地址,簡寫:p。

設置斷點后,可依次打印當前變量 i 的值。

wKgaomW4TheAdCJ2AAD-jcIPRQ4894.png

以上調試過程在每處斷點中,使用 print 命令打印變量 i 的值。同時,串口調試終端

打印相關信息。

wKgaomW4TiuAZ_MpAAA6VmnytD0335.png

3.6 quit 命令

退出 GDB 模式,簡寫:q。當程序調試完成后,使用 quit 命令退出 GDB 調試。

wKgZomW4TjGAApr8AAAetKL0gIU718.png



審核編輯 黃宇

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

    關注

    0

    文章

    60

    瀏覽量

    13173
  • 程序調試
    +關注

    關注

    6

    文章

    14

    瀏覽量

    9751
收藏 人收藏

    評論

    相關推薦

    使用GDB調試Linux應用程序

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

    RK3568-GDB程序調試方法說明

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

    TLT507-Linux應用開發手冊

    TLT507-Linux應用開發手冊
    的頭像 發表于 01-26 09:34 ?394次閱讀
    <b class='flag-5'>TLT507</b>-Linux應用開發手冊

    TLT507-Qt工程編譯說明

    TLT507-Qt工程編譯說明
    的頭像 發表于 01-26 09:37 ?514次閱讀
    <b class='flag-5'>TLT507</b>-Qt工程編譯<b class='flag-5'>說明</b>

    TLT507-Linux-RT應用開發案例

    TLT507-Linux-RT應用開發案例
    的頭像 發表于 01-26 09:46 ?394次閱讀
    <b class='flag-5'>TLT507</b>-Linux-RT應用開發案例

    TLT507-Docker容器部署方法說明

    TLT507-Docker容器部署方法說明
    的頭像 發表于 01-26 09:49 ?218次閱讀
    <b class='flag-5'>TLT507</b>-Docker容器部署<b class='flag-5'>方法</b><b class='flag-5'>說明</b>

    TLT507-Ubuntu系統使用說明

    TLT507-Ubuntu系統使用說明
    的頭像 發表于 01-26 09:58 ?464次閱讀
    <b class='flag-5'>TLT507</b>-Ubuntu系統使用<b class='flag-5'>說明</b>

    TLT507-物聯網模塊開發案例

    TLT507-物聯網模塊開發案例
    的頭像 發表于 01-26 10:26 ?700次閱讀
    <b class='flag-5'>TLT507</b>-物聯網模塊開發案例

    TLT507-視頻開發案例

    TLT507-視頻開發案例
    的頭像 發表于 01-26 10:50 ?720次閱讀
    <b class='flag-5'>TLT507</b>-視頻開發案例

    TLT507- 雙屏異顯方案演示

    TLT507- 雙屏異顯方案演示
    的頭像 發表于 01-26 11:08 ?744次閱讀
    <b class='flag-5'>TLT507</b>- 雙屏異顯方案演示

    gdb調試工具指南 (很詳細的說明)

    gdb調試工具指南,很詳細的說明。
    發表于 03-28 09:52 ?45次下載

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

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

    在板子中調試GDB方法

    在板子中調試 上面的方法是直接在 ubuntu 調試源代碼,只能查看源代碼的錯誤,如果你想要你的應用程序在板子中運行,想打出它在板子上運行的 bug,就要采用下面的
    的頭像 發表于 07-27 16:37 ?783次閱讀
    在板子中<b class='flag-5'>調試</b><b class='flag-5'>GDB</b>的<b class='flag-5'>方法</b>

    TLT507-Android應用開發手冊

    TLT507-Android應用開發手冊
    的頭像 發表于 01-26 15:32 ?289次閱讀
    <b class='flag-5'>TLT507</b>-Android應用開發手冊

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

    如何使用linux下gdb調試python程序? 在Linux下,可以使用GDB(GNU調試器)來調試
    的頭像 發表于 01-31 10:41 ?586次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>