哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

ARM平臺(tái)如何玩轉(zhuǎn)GDB遠(yuǎn)程調(diào)試?

Tronlong創(chuàng)龍科技 ? 2021-09-28 18:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前 言

關(guān)于GDB工具

GDB工具是GNU項(xiàng)目調(diào)試器,基于命令行使用。和其他的調(diào)試器一樣,可使用GDB工具單步運(yùn)行程序、單步執(zhí)行、跳入/跳出函數(shù)、設(shè)置斷點(diǎn)、查看變量等等,它是UNIX/LINUX操作系統(tǒng)下強(qiáng)大的程序調(diào)試工具。GDB支持多種語言,包括Ada、匯編、C/C++、D、Fortran、GO、Objective-C、OpenCL、Modula-2、Pascal和Rust。

GDB具有一種“遠(yuǎn)程”模式,此種模式多半是在為嵌入式系統(tǒng)進(jìn)行調(diào)試時(shí)使用,遠(yuǎn)程操作指的是:GDB在一部機(jī)器內(nèi)運(yùn)行,而要進(jìn)行調(diào)試的程序是在另一部機(jī)器上運(yùn)行,支持TCP/IP協(xié)議傳輸?shù)母鞣N網(wǎng)絡(luò),在TCP/IP網(wǎng)絡(luò)及協(xié)議上再加搭傳輸GDB專有的調(diào)試操作通信協(xié)議,如此便能進(jìn)行遠(yuǎn)程調(diào)試。

創(chuàng)龍科技已基于IMX8、ZYNQ、AM5728、AM5708、AM437x、AM335x、T3/A40i等平臺(tái)提供了GDB程序調(diào)試方法說明。本文檔主要演示基于TLIMX8-EVM評估板的GDB程序調(diào)試方法說明。如需其他平臺(tái)相關(guān)資料,請與我們聯(lián)系。

開發(fā)環(huán)境

Windows開發(fā)環(huán)境:Windows 7 64bit、Windows 10 64bit

虛擬機(jī):VMware15.1.0

Linux開發(fā)環(huán)境:Ubuntu18.04.4 64bit

U-Boot:U-Boot-2020.04

Kernel:Linux-5.4.70

Linux SDK:5.4.70_2.3.0


硬件平臺(tái)

TLIMX8-EVM評估板(NXP i.MX 8M Mini)

TLIMX8-EVM評估板


1調(diào)試環(huán)境搭建

確保已搭建好NXPi.MX 8M Mini SDK開發(fā)環(huán)境。若未完成搭建,請先參照產(chǎn)品資料用戶手冊目錄下的Linux開發(fā)環(huán)境搭建手冊,完成SDK開發(fā)包的安裝和配置。

然后進(jìn)入SDK安裝目錄,并執(zhí)行如下命令加載SDK環(huán)境變量。

Host# cd /home/tronlong/SDK/

Host# source /home/tronlong/SDK/environment-setup-aarch64-poky-linux

圖 1

如環(huán)境搭建正常,執(zhí)行如下命令可查看交叉編譯工具版本。

Host# aarch64-poky-linux-gcc -v

圖 2

2演示程序創(chuàng)建與編譯

執(zhí)行如下命令,新建一個(gè)GDB調(diào)試演示程序。

Host# mkdir test

Host# cd test/

Host# gedit test.c

圖 3

在tese.c文件中輸入如下代碼。

#include

void show() {

printf("show\n");

}

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]: %d\n", i, arr[i]);

}

}

點(diǎn)擊Save,保存退出。


圖 4

執(zhí)行如下命令,修改test文件夾的權(quán)限。

Host# cd ..

Host# sudo chmod -R 777 test/


圖 5

執(zhí)行如下命令加載SDK環(huán)境變量,并進(jìn)行程序編譯。

備注:編譯時(shí)需添加-g參數(shù),編譯過程中的警告可忽略。

編譯完成后,將在test文件夾目錄下生成可執(zhí)行文件test。

Host# cd test/

Host# source /home/tronlong/SDK/environment-setup-aarch64-poky-linux

Host# $CC -O0 -g test.c -o test

圖 6

評估板與PC機(jī)連接至同一個(gè)路由器后進(jìn)行上電,執(zhí)行如下命令通過網(wǎng)絡(luò)傳輸?shù)男问?,將編譯后的可執(zhí)行文件test拷貝至評估板。

Target# ifconfig //查看評估板的IP地址

圖 7

Host# scp test root@192.168.0.17:/home/root //將可執(zhí)行文件拷貝至評估板“/home/root/”目錄下,密碼為空即可

圖 8

Target# ls -l //查看評估板接收的可執(zhí)行文件

圖 9

3調(diào)試程序運(yùn)行

執(zhí)行如下命令,確認(rèn)虛擬機(jī)的IP地址。

Host# ifconfig

圖 10

在評估板文件系統(tǒng)test文件所在路徑下,執(zhí)行如下命令運(yùn)行g(shù)dbserver程序,開啟監(jiān)聽。

備注:192.168.0.83為虛擬機(jī)的IP地址;1234為連接的端口號(hào)(自行設(shè)置);test為將要進(jìn)行調(diào)試的程序。如為Qt界面程序,則需在后面增加-qws參數(shù)。

Target# gdbserver 192.168.0.83:1234 test

圖 11

在PC機(jī)test文件所在路徑下,執(zhí)行如下命令加載SDK環(huán)境變量,并運(yùn)行GDB調(diào)試程序。

Host# source /home/tronlong/SDK/environment-setup-aarch64-poky-linux

Host# aarch64-poky-linux-gdb test //aarch64-poky-linux-gdb為SDK交叉編譯環(huán)境下的GDB交叉編譯工具鏈,test為將要進(jìn)行調(diào)試的程序

圖 12

執(zhí)行如下命令,連接評估板。192.168.0.17為評估板的IP地址,請以實(shí)際情況為準(zhǔn)。

(gdb) target remote 192.168.0.17:1234

圖 13

同時(shí),串口調(diào)試終端顯示連接成功的相關(guān)信息。

圖 14

4程序調(diào)試

本章節(jié)主要演示GDB調(diào)試的幾個(gè)常用命令的使用方法。

4.1list命令

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

圖 15

4.2break命令

用于設(shè)置斷點(diǎn),簡寫:b。

圖 16

4.3info breakpoints命令

用于顯示斷點(diǎn)的狀態(tài),簡寫:infob。

圖 17

4.4continue命令

用于恢復(fù)程序執(zhí)行,簡寫:c。此命令使GDB恢復(fù)程序的執(zhí)行,直至斷點(diǎn)觸發(fā)或程序結(jié)束。

圖 18

以上調(diào)試過程在第二個(gè)斷點(diǎn)中,每輸入一次c命令,將會(huì)依次打印arr數(shù)組的元素值,然后程序執(zhí)行結(jié)束。同時(shí),串口調(diào)試終端打印相關(guān)信息。

圖 19

4.5print命令

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

圖 20

以上調(diào)試過程在每處斷點(diǎn)中,使用print命令打印變量i的值。同時(shí),串口調(diào)試終端打印相關(guān)信息。

圖 21

4.6quit命令

退出GDB模式,簡寫:q。當(dāng)程序調(diào)試完成后,使用quit命令退出GDB調(diào)試。

圖 22

同時(shí),串口調(diào)試終端打印相關(guān)信息。

圖 23

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

    關(guān)注

    6

    文章

    361

    瀏覽量

    43381
  • 嵌入式開發(fā)
    +關(guān)注

    關(guān)注

    18

    文章

    1167

    瀏覽量

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

    關(guān)注

    0

    文章

    61

    瀏覽量

    13944
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    Linux Kernel 6.1 tools目錄全解析?| RK平臺(tái)ARM64交叉編譯實(shí)戰(zhàn)指南

    ? 在瑞芯微( RK ) ARM64 平臺(tái)嵌入式 Linux 開發(fā)、內(nèi)核調(diào)試與硬件外設(shè)測試中, Linux 內(nèi)核源碼自帶的 tools 目錄 是官方標(biāo)配的工具集合,涵蓋性能分析、設(shè)備調(diào)試
    的頭像 發(fā)表于 04-16 18:42 ?2497次閱讀
    Linux Kernel 6.1 tools目錄全解析?| RK<b class='flag-5'>平臺(tái)</b><b class='flag-5'>ARM</b>64交叉編譯實(shí)戰(zhàn)指南

    如何實(shí)現(xiàn)對異地PLC的遠(yuǎn)程編程調(diào)試和上下載程序

    遠(yuǎn)程維護(hù)通道,讓工程師在辦公室即可完成異地PLC的編程、調(diào)試、上下載程序,實(shí)現(xiàn)“足不出戶、運(yùn)維全球”。 一、方案核心原理:安全透明的遠(yuǎn)程通信橋梁 “現(xiàn)場PLC+工業(yè)智能網(wǎng)關(guān)+設(shè)備維護(hù)快線+管理云
    的頭像 發(fā)表于 03-31 14:15 ?190次閱讀
    如何實(shí)現(xiàn)對異地PLC的<b class='flag-5'>遠(yuǎn)程</b>編程<b class='flag-5'>調(diào)試</b>和上下載程序

    能自主上網(wǎng)的工業(yè)遠(yuǎn)程調(diào)試模塊怎么選?核心功能與選型標(biāo)準(zhǔn)

    在工程機(jī)械運(yùn)維調(diào)試場景中統(tǒng)調(diào)試方式依賴技術(shù)人員去到現(xiàn)場外接調(diào)試線。上海英暉科技推出的E30M6203超級智能終端,憑借遠(yuǎn)程下載聯(lián)機(jī)、自主聯(lián)網(wǎng)、多協(xié)議兼容等特性,為工程機(jī)械
    的頭像 發(fā)表于 03-06 10:22 ?183次閱讀

    DR1平臺(tái)Linux應(yīng)用開發(fā)指南:含GDB調(diào)試、Python及MQTT實(shí)戰(zhàn)

    本文為創(chuàng)龍科技DR1 系列評估板 Linux 應(yīng)用開發(fā)手冊,系統(tǒng)講解開發(fā)環(huán)境搭建、GDB 調(diào)試、多類型應(yīng)用案例及 MQTT 通信實(shí)現(xiàn)。核心內(nèi)容包括 LinuxSDK 與工具鏈配置、GDB 遠(yuǎn)程
    的頭像 發(fā)表于 01-05 16:48 ?4774次閱讀
    DR1<b class='flag-5'>平臺(tái)</b>Linux應(yīng)用開發(fā)指南:含<b class='flag-5'>GDB</b><b class='flag-5'>調(diào)試</b>、Python及MQTT實(shí)戰(zhàn)

    ElfBoard技術(shù)貼|如何在【RK3588】ELF 2開發(fā)板進(jìn)行GDB調(diào)試

    GDB(GNU Project Debugger)是在Linux環(huán)境下功能全面的調(diào)試工具。它提供了一系列強(qiáng)大的調(diào)試功能,包括設(shè)置斷點(diǎn)、單步執(zhí)行、打印與觀察變量、查看寄存器及堆棧信息等。在Linux軟件開發(fā)的實(shí)踐中,
    的頭像 發(fā)表于 11-11 13:47 ?5357次閱讀
    ElfBoard技術(shù)貼|如何在【RK3588】ELF 2開發(fā)板進(jìn)行<b class='flag-5'>GDB</b><b class='flag-5'>調(diào)試</b>

    蜂鳥的GDB調(diào)試時(shí)無法在斷點(diǎn)處停止是什么原因?

    各位大佬們,我們使用GDB調(diào)試程序的時(shí)候,在main函數(shù)打上斷點(diǎn),然后在gdb中continue,程序并沒有在main函數(shù)入口處停下?請問大佬知道原因嗎?謝謝~
    發(fā)表于 11-07 06:15

    CAN總線遠(yuǎn)程調(diào)試工具介紹

    一種工程機(jī)械領(lǐng)域調(diào)試上的創(chuàng)新產(chǎn)品,可用于Codesys 源程序的無線下載聯(lián)機(jī)、遠(yuǎn)程調(diào)試、故障診斷、CAN 總線數(shù)據(jù)在線監(jiān)控、透傳收發(fā)、數(shù)據(jù)采集、數(shù)據(jù)分析、遠(yuǎn)程控制等各種 CAN 總線通
    發(fā)表于 10-17 16:14 ?0次下載

    【干貨分享】RT-Trace國產(chǎn)調(diào)試工具 | 技術(shù)集結(jié)

    專為嵌入式開發(fā)者打造的一款高性能、多功能的調(diào)試工具。它集成了實(shí)時(shí)系統(tǒng)跟蹤、數(shù)據(jù)監(jiān)控、GDB遠(yuǎn)程調(diào)試、Flash程序燒錄、虛擬終端等多種功能于一體,支持通過WebU
    的頭像 發(fā)表于 09-16 08:07 ?1022次閱讀
    【干貨分享】RT-Trace國產(chǎn)<b class='flag-5'>調(diào)試</b>工具 | 技術(shù)集結(jié)

    國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—GDB程序調(diào)試方法說明

    (Linux) GDB工具是GNU項(xiàng)目調(diào)試器,基于命令行使用。和其他的調(diào)試器一樣,可使用GDB工具單步運(yùn)行程序、單步執(zhí)行、跳入/跳出函數(shù)、設(shè)置斷點(diǎn)、查看變量等等,它是UNIX/LINU
    的頭像 發(fā)表于 08-05 15:33 ?675次閱讀
    國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—<b class='flag-5'>GDB</b>程序<b class='flag-5'>調(diào)試</b>方法說明

    設(shè)備遠(yuǎn)程調(diào)試新利器:御控網(wǎng)關(guān)開啟PLC高效運(yùn)維新時(shí)代

    御控網(wǎng)關(guān),專為設(shè)備遠(yuǎn)程調(diào)試,尤其是PLC(可編程邏輯控制器)的遠(yuǎn)程調(diào)試服務(wù),憑借其卓越性能與廣泛兼容性,支持絕大部分PLC遠(yuǎn)程
    的頭像 發(fā)表于 06-24 17:22 ?767次閱讀

    PLC遠(yuǎn)程維護(hù)平臺(tái)有什么優(yōu)點(diǎn)

    PLC遠(yuǎn)程維護(hù)平臺(tái)是工業(yè)自動(dòng)化領(lǐng)域中用于對PLC設(shè)備進(jìn)行遠(yuǎn)程監(jiān)控、診斷、維護(hù)和管理的系統(tǒng),具有諸多顯著優(yōu)點(diǎn),以下從不同維度展開介紹: 提升運(yùn)維效率 快速響應(yīng)故障 :傳統(tǒng)運(yùn)維方式下,當(dāng)PLC設(shè)備出現(xiàn)
    的頭像 發(fā)表于 06-11 16:04 ?722次閱讀
    PLC<b class='flag-5'>遠(yuǎn)程</b>維護(hù)<b class='flag-5'>平臺(tái)</b>有什么優(yōu)點(diǎn)

    遠(yuǎn)程日志errDump調(diào)試功能實(shí)戰(zhàn)教程:案例驅(qū)動(dòng)的故障排查!

    通過真實(shí)案例場景,本教程將展示如何利用遠(yuǎn)程日志errDump調(diào)試功能定位系統(tǒng)崩潰、性能瓶頸等問題,從日志捕獲到原因分析,手把手帶您體驗(yàn)實(shí)戰(zhàn)中的調(diào)試流程。 本文特別分享errDump功能
    的頭像 發(fā)表于 06-09 16:51 ?838次閱讀
    <b class='flag-5'>遠(yuǎn)程</b>日志errDump<b class='flag-5'>調(diào)試</b>功能實(shí)戰(zhàn)教程:案例驅(qū)動(dòng)的故障排查!

    通過御控APP實(shí)現(xiàn)PLC遠(yuǎn)程調(diào)試遠(yuǎn)程監(jiān)控

    御控APP,通過移動(dòng)化、智能化的手段,實(shí)現(xiàn)了PLC遠(yuǎn)程調(diào)試與監(jiān)控,為工業(yè)生產(chǎn)帶來了便捷與高效。
    的頭像 發(fā)表于 06-04 09:49 ?765次閱讀

    PLC遠(yuǎn)程調(diào)試指南:如何實(shí)現(xiàn)PLC遠(yuǎn)程上下載、控制與跨國運(yùn)維

    在工業(yè)4.0時(shí)代,御控網(wǎng)關(guān)已為30000+企業(yè)提供遠(yuǎn)程調(diào)試服務(wù)。搜索訪問【御控工業(yè)云平臺(tái)】官網(wǎng),獲取《試用樣機(jī)》及跨國設(shè)備調(diào)試方案,讓您的設(shè)備運(yùn)維效率猛增!
    的頭像 發(fā)表于 05-21 09:12 ?1249次閱讀

    基于RK3576開發(fā)板的遠(yuǎn)程桌面調(diào)試方法

    EASY EAI Orin-Nano可以基于MobaXterm的ssh遠(yuǎn)程桌面登錄調(diào)試
    的頭像 發(fā)表于 05-06 09:58 ?879次閱讀
    基于RK3576開發(fā)板的<b class='flag-5'>遠(yuǎn)程</b>桌面<b class='flag-5'>調(diào)試</b>方法
    田东县| 四子王旗| 临武县| 枣庄市| 浦江县| 武乡县| 德令哈市| 阿图什市| 正定县| 洱源县| 浦城县| 东光县| 镇安县| 南平市| 基隆市| 扶沟县| 务川| 九龙县| 巴彦县| 乐东| 陕西省| 西乌珠穆沁旗| 武穴市| 石家庄市| 淅川县| 平遥县| 威海市| 城固县| 尚义县| 望江县| 茂名市| 神木县| 五台县| 蚌埠市| 济宁市| 井研县| 班戈县| 南平市| 恩平市| 息烽县| 和政县|