在ELF 1开发环境中使用Qt Creator进行远程调试

news2024/11/19 19:16:41

Qt Creator是一款跨平台集成开发环境(IDE),主要适用于支持Qt框架的各类应用程序开发。其内置的远程调试机制使得开发者能够在本地开发环境中对部署在远程设备上的代码进行调试,无需直接对远程设备进行操作。Qt Creator会通过网络连接到远程设备,将调试信息传输回本地环境。接下来就为各位小伙伴详细解析如何在 ELF 1 开发环境下配置Qt Creator,以实现高效的远程调试功能。

Qt Creator新建工程

1、执行环境变量

elf@ubuntu:~$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

2、打开Qt Creator

elf@ubuntu:~$ /opt/Qt5.6.2/Tools/QtCreator/bin/qtcreator &

3、新建工程

单击“文件”,选择“新建文件或项目”,按下图进行配置:

图片

图片

图片

图片

图片

4、编译

(1)单击左侧“项目”按钮,选择编译配置为arm-gcc-imx6ull的方式,取消选中Shadow build:

图片

(2)单击“构建”,选择“构建所有项目”,可以在/home/elf/work/helloworld目录下看到编译生成的应用程序:

图片

(3)把helloworld二进制文件拷贝到ELF 1开发板的/home/root路径下进行测试:

root@ELF1:~# cp /run/media/sda1/helloworld .
root@ELF1:~# sync
root@ELF1:~# export DISPLAY=:0.0
root@ELF1:~# ./helloworld

图片

Qt Creator远程调试

1、保证开发环境与开发板之间能够互相Ping通

(1)将开发环境设置为桥接模式,单击“虚拟机”,选择“设置”,单击“网络适配器”,网络连接设置为桥接模式:

图片

(2)设置开发环境IP:

图片

图片

开发环境的网络配置完成。

(3)设置ELF 1开发板IP:

root@ELF1:~# ifconfig eth0 192.168.2.99

(4)ELF 1开发板Ping开发环境,确保网络连接正常:

root@ELF1:~# ping 192.168.2.101

2、ELF 1开发板运行gdbserver

root@ELF1:~# gdbserver 192.168.2.101:9900 ./helloworld

3、开发环境中配置Qt Creator

(1)单击“工具”,选择“选项”,单击“设备”,单击“添加”按钮,按下图进行配置:

图片

图片

图片

完成配置后出现如下界面,表示连接成功:

图片

(2)单击“Apply”,再单击“OK”按钮完成配置:

图片

(3)单击“工具”,选择“选项”,单击“构建和运行”,单击“构建套件”,单击“添加”按钮,按下图进行配置,单击“Apply”,单击“OK”按钮,完成配置:

图片

(4)单击“调试”,选择“开始调试”,单击“Attach to Running Debug Server”:

图片

按下图进行配置:

图片

(5)调试

图片

至此,各位小伙伴即可在源代码中运用设置断点、查阅变量状态、单步执行等多种调试手段。这一便捷的远程调试功能可以更高效地对远程设备上的应用程序进行调试,从而提升整个开发流程的速度,并保障了代码的质量与运行稳定性。

(声明:以上开发环境及相关文档资料仅作参考学习使用)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1610030.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Django中的实时通信:WebSockets与异步视图的结合

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 在现代Web应用程序中,实时通信已经成为了必不可少的功能之一。无论是在线聊天、…

将图片按灰度转换成字符

from struct import *ch [., :, !, ~, ,, ^, *,$, #]//可以在这里面由浅到深添加字符 ch.reverse()def calc(R, G, B):#模式Lreturn R * 299 // 1000 G * 587 // 1000 B * 144 / 1000def character( val):num val / 260 * len(ch)num round(num)if num>len(ch):numlen(…

【H4012】3.3V5V12V24V30V,3.5A大电流温度低 高效同步降压芯片IC DC-DC

您提到的“3.3V, 5V, 12V, 24V, 30V, 3.5A 高效同步降压芯片IC DC-DC”是指一种能够将较高电压(例如24V或30V)降至较低电压(例如3.3V, 5V或12V)的直流-直流(DC-DC)转换器。这种转换器通常使用同步降压技术&…

uniapp 安卓批量异步权限授权,没有授权就跳系统App设置页

首先需要一个js的sdk&#xff1a;App权限判断和提示 - DCloud 插件市场 下载下来&#xff0c;引入里面的 permission.js 示例代码&#xff1a; <script>import { requestAndroidPermission } from ./sdk/permission.jsexport default {onLaunch(e) {const getMutiPer…

kerberos:适配华为FI

文章目录 一、hive1、hive thrift连接方式 一、hive 1、hive thrift连接方式 kerberos认证失败信息 缺少配置&#xff1a;{“hadoop.rpc.protection”:“privacy”}&#xff0c;具体可参考&#xff1a;kerbros认证相关问题 华为FI参考资料&#xff1a; https://github.com…

从零开始学习Linux(4)----yum和vim

1.Linux软件包管理器yum Linux中我们要进行工具/指令/程序&#xff0c;安装&#xff0c;检查卸载等&#xff0c;需要yum的软件 安装软件的方式&#xff1a; 源代码安装---交叉编译的工具rpm包直接安装yum/apt-get yum是我们Linux预装的一个指令&#xff0c;搜索&#xff0c;下…

如何防止用户手动填写身份证信息来作弊?

当前有不少的网站或企业需要用户采用身份证读卡器远程在程序里面填写身份证信息&#xff0c;用于核实用户的真实身份&#xff0c;以完成某些业务&#xff0c;但是&#xff0c;有些用户为了达到不可告人的目的&#xff0c;会采用作弊手段&#xff0c;绕过机器采集这一关&#xf…

牛客网:环形链表的约瑟夫问题

&#x1f381;个人主页&#xff1a;我们的五年 &#x1f50d;系列专栏&#xff1a;每日一练 &#x1f337;追光的人&#xff0c;终会万丈光芒 &#x1f3dd;1.问题描述&#xff1a; 前言&#xff1a; 约瑟夫问题 有很多种解决办法&#xff0c;下面我们用链表进行解题 题目链…

学校管网的仿写

工字形布局完成 效果 代码部分 在这里插入代码片 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport…

AI日报:最强大模型Llama 3发布;Midjourney推社交新功能Room;超强AI视频自动剪辑工具Captions;手机上可以玩大模型了

新鲜AI产品点击了解&#xff1a;https://top.aibase.com/ 1、最强大模型Llama3 正式发布 已达GPT4 级别 Llama3是Meta公司最新发布的开源模型&#xff0c;拥有80亿和700亿参数规模&#xff0c;预计7月正式发布。该模型具备多模态能力&#xff0c;集成了新的计算机编码功能&am…

C++类和对象(中)(2)

一、拷贝构造函数 1.1 拷贝构造函数的概念 在现实生活中我们对于两个一模一样的人我们将他们称之为双胞胎&#xff0c;那么我们在创建对象的时候&#xff0c;能不能创建一个和已经存在的对象一模一样的新对象呢&#xff1f;这种做法是可以的&#xff0c;通过拷贝构造函数我们…

Docker镜像的使用与操作

1、什么是镜像 Docker镜像是用于创建容器的只读模板&#xff0c;它包含文件系统。一个Docker镜像可以包括一个应用程序以及能够运行它的基本操作系统环境。 镜像是创建容器的基础&#xff0c;通过版本管理和联合文件系统&#xff0c;Docker提供了一套十分简单的机制来创建镜像…

二叉检索树的查找删除(替换删除)的实现

1、查找元素 当当前结点元素key小于要查找的元素的key时,该元素一定在当前结点的右子树中&#xff0c;以此递归的进行search()&#xff0c;直到key相等。反之亦然 2、查找最小元素 最小元素一定在根结点的左子树中&#xff08;在左子树递归&#xff09; 基准情形&#xff1…

Llama3本地部署实现模型对话

1. 从github下载目录文件 https://github.com/meta-llama/llama3 使用git下载或者直接从github项目地址下载压缩包文件 git clone https://github.com/meta-llama/llama3.git2.申请模型下载链接 到Meta Llama website填写表格申请,国家貌似得填写外国,组织随便填写即可 3.…

中医方解笔记

目录 大青龙汤小青龙汤金匮肾气丸逍遥丸君臣佐参考《方剂学》 加味逍遥丸&#xff08;丹栀逍遥丸&#xff09;使用情况组成丹栀逍遥丸为什么可以缓解口干&#xff1f; 补中益气丸 大青龙汤 小青龙汤 金匮肾气丸 逍遥丸 君 柴胡。疏肝解郁&#xff0c;使肝郁得以条达。 臣 当…

Java高级阶段面试题库(Redis数据库、MQ消息队列、kafka、SpringBoot + SpringCloud、MySQL、JVMJUC、其它)

文章目录 1. Redis数据库篇(忽略)1.1 简单介绍一下redis1.2 单线程的redis为什么读写速度快?1.3 redis为什么是单线程的?1.4 redis服务器的的内存是多大?1.5 为什么Redis的操作是原子性的&#xff0c;怎么保证原子性的&#xff1f;1.6 你还用过其他的缓存吗&#xff1f;这些…

STM32 USB HID报告描述符没有报告长度

STM32 USB HID设置(STM32CubeMX)_我也想成大侠的博客-CSDN博客 不影响鼠标功能

Golang内存、指针逃逸、垃圾回收机制概览

最近看到了一篇文章是关于go的内存、指针逃逸和垃圾回收机制的&#xff0c;发现自己并未很细致的了解过这方面的内容&#xff0c;于是在翻阅各种文章的情况下&#xff0c;写出了这篇总结&#xff0c;参考文章放在文末&#xff0c;可自取 内存 Go 语言使用一个自带的垃圾收集器…

密码学 | 椭圆曲线密码学 ECC 入门(四)

目录 正文 1 曲线方程 2 点的运算 3 求解过程 4 补充&#xff1a;有限域 ⚠️ 知乎&#xff1a;【密码专栏】动手计算双线性对&#xff08;中&#xff09; - 知乎 ⚠️ 写在前面&#xff1a;本文属搬运博客&#xff0c;自己留着学习。注意&#xff0c;这篇博客与前三…

qt设置TextEdit的提示性文字

提示性文字&#xff0c;就是用户在输入的时候自动消失的那种 比如&#xff1a; 可以这样设置&#xff1a; lineEdit->setPlaceholderText("我是提示性文字"); 但是我们觉的这样有点难看&#xff0c;可以用以下QSS来调整&#xff1a; 调整提示性文字的位置&…