EclipseCDT远程交叉编译远程单步调试基于makefile例程(实测有效)

文章目录

  • 前言:
  • 1. 新建工程
  • 2. 远程编译环境配置
    • 2.1 下载sshfs并挂载目录
    • 2.2 Debug配置
    • 2.3安装EclipseCDT的远程插件
    • 2.4 拷贝gdbserver
  • 3. 调试
  • 总结:

前言:

之前写过一篇VSCode远程调试linux,当时是把程序以及代码通过远程的方式,在从机上进行GCC编译,主机上远程GDB调试。这有个弊端就是从机里面会有源代码,同时从机还需要支持GCC和GDB。

后面进一步拓展,VSCoede通过从机的交叉编译链远程编译,把生成的程序放到从机上运行,但是并没有实现远程调试,要想远程调试还得从机编译,这个问题目前还未解决。后面考虑出个博客解决一下VScode远程调试的这个问题,当然了这篇博客其实解决了远程调试的这个问题,只不过是换了个平台。


1. 新建工程

这个新建工程,跟着走一轮就可以了,有工程的话就直接跳过这个章节。
step1:File->New->C Project
在这里插入图片描述
step2:输入项目名称,选择makefileproject项目,工具链选otherToolchain->Finish
在这里插入图片描述
step3:右键项目->New->Source File
在这里插入图片描述
step4:按照如下图配置创建源文件

在这里插入图片描述
step5:右键hello工程->New->File在这里插入图片描述
step6: 选择hello工程,创建名为makefile的文件。
在这里插入图片描述
step7:粘贴测试代码和makefile规则
hello.c源码

#include<stdio.h>
int main()
{printf("hello1\n");printf("edwinwzy\n");printf("chengchei\n");printf("hello2\n");return 0;
}

makefile规则
注意修改自己的路径

#这里是自己的GCC路径
gcc_path = /opt/Xilinx/SDK/2015.4/gnu/arm/lin/bin/
#这里是GCC路径下的GCC编译器
CC     = $(gcc_path)arm-xilinx-linux-gnueabi-gcc
#生成的可执行文件的文件名
execName = hello all:
#要单步调试的话这里一定要加 -g 选项$(CC) -g hello.c -o $(execName)
#生成的文件移动到这个目录下mv -f $(execName) /home/alinx/remote 
clean:rm $(execName) *.o *~

最终效果图:
在这里插入图片描述


2. 远程编译环境配置

因为我们的文件要放到从机上,所以我们需要把从机内我们需要使用的目录挂载到主机上,在主机上对挂载的目录进行操作等效于对远程目录操作,有点类似于共享目录。
只有这样EclipseCDT中才可以指定调试程序为远程从机上的可执行文件。
看了几个这个作用的插件,最终找到一个简单又好用的插件sshfs。

2.1 下载sshfs并挂载目录

在控制台输入sudo apt install sshfs
后面输入y即可安装
在这里插入图片描述
安装完成后进行挂载

正常的sshfs的命令是 sudo sshfs 用户名@IP地址: 从机要被挂载的目录 挂载到主机的目录位置
这样写没问题,但是我遇到了一个无法打开什么的问题,后面排查到是权限问题,所以需要相关参数。
我这里使用的命令是:
sudo sshfs -o allow_other root@192.168.1.172:/home/ /home/alinx/remote/
这个命令里面的的参数就解决了权限问题,后面的主机挂载目录对应的文件最好是空的,
至于为什么可以参考我的博客:文件系统挂载

输入完成后,还需要输入密码,就是你ssh远程登录从机用户的密码。

在这里插入图片描述

2.2 Debug配置

step1:右键工程->DebugAs->DebugConfigurations
在这里插入图片描述
step2:新建debug配置
在这里插入图片描述step3:配置Debugger
在这里插入图片描述

在这里插入图片描述

2.3安装EclipseCDT的远程插件

在这里插入图片描述
搜索这个安装,这个插件支持远程调试。
在这里插入图片描述
在这里插入图片描述


右下角有个进度条,满了以后会弹出小窗口,选择信任
在这里插入图片描述

在这里插入图片描述


选择Restart Now
在这里插入图片描述


重启后Eclipse后,如果右上角没有remote的图标,则右上角点击Open Perspective
在这里插入图片描述


最好把Debug也点上,这样后面方便切换视图。
在这里插入图片描述


点击Remote System Explore模式的视图,左侧一栏,右键Local位置,选择新建Connection
在这里插入图片描述


选择SSH Only 再点next
在这里插入图片描述


按自己需要配置后,选择Finish
在这里插入图片描述


此时界面的左边会出现刚创建的配置信息,
在这里插入图片描述


右键Ssh Shells,选择Launch Shell
在这里插入图片描述


这里User ID就是你登录从机的用户名,下面就是对应的密码。
在这里插入图片描述


配置完成后中间会出现Remote Shell的小窗口,验证账户名和密码正确后就会进入ssh界面。
在这里插入图片描述


2.4 拷贝gdbserver

找到自己交叉编译工具链中对应的gdbserver,把它直接复制粘贴到从机系统文件的/usr/bin/目录下即可。
一般gdbserver和刚才交叉编译链的gcc在同一个文件夹下。
对了,别忘了给权限,用sduo chmod 777 xxx-xxx-gdbserver,xxx表示你交叉编译链中gdbserver的前缀,根据实际情况改变。

如何拷贝呢?那就用对应的一些软件直接远程传输数据呗,比如WinSCP。
当然,如果从机支持图形化操作,那就直接U盘传输。
再万能一些就用一些集成SSH,FTP传输的这种协议进行传输。比如:SecureCRT
当然,刚才提到的sshfs挂载,用类似于共享文件的方式也可以传输。
方法很多,因人而异,我只写这么多。


3. 调试

因为刚才在配置Debug的时候选择了自动生成:Enable auto to build,所以我们的文件其实是先生成再开启调试。
单击debug小虫子旁边的下拉按钮,选择刚才配置好的debug配置。

在这里插入图片描述

这时候右下角大概会卡在百分之96,因为从机没有开启gdbserver服务


打开Remote Shell视图
在这里插入图片描述
远程连接上以后,在输入栏输入gdbserver 192.168.1.102:1234 /home/hello注意:这个内容要修改
解释一下字段含义:gdbserver 主机IP:端口号 调试程序所在目录,这里根据自己的主从机进行修改。

接着界面会自动跳转到hello.c的main函数的第一句话停住,后面就可以单步调试了,而且代码也能一一对应。


总结:

这一套配置流程刚开始弄的时候整体下来比较费时间,但是作用还是非常大的。
目前远程调试还存在的问题是,我用makefile编写中型工程的时候,对cpp文件生成中间文件.o文件之后,再把所有的.o中间文件集合生成一个目标文件。虽然编译的时候使用了-g选项,但是还是出现了无法定位到源文件即.cpp的情况,暂未解决。

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

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

相关文章

骁龙780G和麒麟980哪个好

骁龙780G&#xff1a;采用了6nm的制作工艺 麒麟980采用的是7nm的工艺制作。 我用的手机就是活动时7.5折抢购的 点击开抢 http://shouji.adiannao.cn/7 骁龙780G&#xff1a;“116”的八核架构&#xff0c;1Cortex A76 2.6GHz 1Cortex A76 2.4GHz 6*Cortex A55 2.0GHz。GPU型号…

甜品网站界面

最开始就是logo部分和导航栏部分 logo部分就是用的div里面写img然后给浮动就可以了 第二个是导航栏部分 用的也是无序标签 代码如下&#xff1a; 轮播图部分 没做出来效果 甜蜜约会品牌简介 红色框框以外的我用的是 div img 和 p标签做的 这些很简单 就不展示代码了 红色边…

maccmsv10 苹果cms 深度定制站群版

熊猫站群系统苹果MacCmsV10 熊猫电影站群系统苹果MacCmsV10是一款专门为每个做站群的独行侠量身打造的省时省力省心的电影站群系统。 作为站群的重度使用者&#xff0c;深知作站痛点。从站长角度出发&#xff0c;解决痛点。非侵入式开发,基于Thinkphp框架&#xff0c;兼容苹果M…

苹果CMS采集工具

苹果CMS采集&#xff0c;是苹果CMS影视站必不可少的功能。现在很多站长想做一个自己的影视站点&#xff0c;感觉影视站点的流量很大&#xff0c;关键词多&#xff0c;做起来会非常容易&#xff0c;的确是这样。这篇文章主要是给大家分享一下关于影视站以及苹果CMS采集的&#x…

苹果c语言怎么用windows。h_苹果12怎么用蓝牙传照片?iphone12无线传相片的详细步骤...

阅读本文前,请您先点击上面的“蓝色字体”,再点击“关注”,这样您就可以继续免费收到文章了。每天都会有分享,都是免费订阅,请您放心关注。注图文来源网络,侵删 …

苹果CMS火车头采集发布模块教程

苹果CMS火车头采集教程苹果CMS发布模块&#xff0c;苹果CMS怎么自动采集&#xff1f;苹果CMS怎么自动发布。今天给大家分享一款免费的苹果CMS自动采集发布工具&#xff0c;支持指定网站数据采集&#xff0c;支持关键词内容采集。详细参考图片教程 百度最近更新得比拟多&#xf…

android 双卡 默认流量 卡,双卡双待功能怎么用?如何设置默认流量卡?

原标题&#xff1a;双卡双待功能怎么用&#xff1f;如何设置默认流量卡? 了解双 SIM 卡状态图标 屏幕顶部状态栏中的图标能够显示两个运营商的信号强度&#xff0c;在「控制中心」可以显示更详细的 SIM 卡状态。 设置默认号码 将「主卡」作为默认号码&#xff1a;勾选此方案后…

苹果手机更改照片大小kb,苹果手机怎么把图片缩小 怎么用手机把图片缩小

关于如何使用手机把图片缩小到自己需要的大小体积?这是一个比较有含量的技术活了&#xff0c;在不借助任何软件的辅助下&#xff0c;苹果手机就可以做到这一点&#xff0c;具体的操作方法请和小编一起来看看吧。 苹果手机怎么把图片缩小 怎么用手机把图片缩小 首先打开苹果手机…

苹果CMS采集方法支持文章资源采集

苹果cms采集视频可以在后台联盟资源库里直接设置采集&#xff0c;也可以自己配置自定义采集库&#xff0c;而关于文章资讯采集&#xff0c;苹果cms后台并没有配备专门的采集库&#xff0c;所以文章采集我们需要自己去添加采集接口&#xff0c;或者是使用第三方的采集工具&#…

苹果采集插件全套教程-苹果cmsV10采集插件

最近几年随着互联网时代的发展&#xff0c;做电影网站的站长越来越多了&#xff0c;加入此行列的人也是与日俱增&#xff01;但是很多站长都是跟风来做电影站的&#xff0c;怎么做一点思路都没有。电影资源都不知道怎么来的。今天就教大家怎么做好电影站&#xff0c;文章有点长…

苹果自带的APP下载分析统计工具

对于APP运营的工作人员&#xff0c;查看APP的下载量和访问量是非常重要的。当然&#xff0c;我们开发人员有时候也会想看看自己开发的APP有多少人在使用&#xff0c;但是苹果开发者官网一直没有提供这个功能&#xff0c;一些第三方的网站&#xff0c;比如蒲公英、友盟等提供了这…

android流量定位吗,安卓消耗流量比iPhone多?揭密真相:意外

“手机充电3小时,耗流量23GB”,“武汉一女子,一夜间用掉流量53.3GB”…… 不少网友称,最近他们的流量消耗快得惊人。是手机的问题?是软件的问题?还是运营商的问题?钱江晚报联合省质监局,对多品牌手机、多种网络信号源进行较严谨的流量试验,试图弄明白几个问题: 1、关…

苹果怎样用小米云服务器,苹果换华为/小米,怎么同步数据?教程来了!

原标题&#xff1a;苹果换华为/小米&#xff0c;怎么同步数据&#xff1f;教程来了&#xff01; 由于系统不同&#xff0c;iOS和Android之间数据迁移一直都是跨平台换机用户的“绊脚石”。而且iOS是封闭系统&#xff0c;不像Android那么开源。 尽管市面上的App基本都支持两大系…

苹果CMS插件-苹果CMS必备插件

苹果CMS插件是指针对苹果CMS网站开发的插件&#xff0c;在已经熟悉了解的苹果CMS的情况下&#xff0c;结合插件以及seo手法制定出适合这个网站的优化方法。随着近几年影视产业的快速发展&#xff0c;电影网站也成为从事互联网工作者们饱受关注的网站之一。&#xff0c;由原先的…

苹果CMS插件安装使用下载苹果CMS插件集合

其实博主做SEO已经十二年了&#xff0c;一直都是通过深入研究搜索引擎的各种核心算法&#xff0c;来帮助大家网站快速收录从而达到关键词排名。所以对于网站SEO优化掌握的技术也算是精通各种手法。毕竟这十几年来也踩过一些坑&#xff0c;所以还是有一些经验可以跟大家分享下&a…

证件照怎么自己P图?证件照拍照攻略 记得收藏

很多同学都表示自己的证件照太丑&#xff0c;皮肤瑕疵、身材臃肿、表情狰狞、眼神呆滞......但你知道嘛&#xff1f;现在证件照也可以自己在家P图啦&#xff01;市面上有一种证件照工具&#xff0c;叫做证件照生成器&#xff0c;既有着美颜、换装、换底色等功能&#xff1b;又有…

ps制作计算机考试证件照,如何通过PS制作一寸证件照(超详细流程)?

一寸证件照的用途很广泛&#xff0c;比如我们在毕业证书上、求职简历上等都需要提供&#xff0c;多数人可能会选择去打印店花钱制作&#xff0c;但是这样下来既浪费钱又花费时间&#xff0c;如果你的电脑里安装了Photoshop软件&#xff0c;那么何不自己动手做一个呢&#xff1f…

证照之星软件2020免费版PS做证件照的方法教程

作为人力行政部负责招聘的员工&#xff0c;经常需要面对求职者&#xff0c;看着他们简历上的证件照&#xff0c;有的真的是非常美观&#xff0c;有的则是特别普通。其实&#xff0c;证件照的制作真的不难&#xff0c;大家只要稍加用心&#xff0c;即可制作出满意的证件照&#…

Photoshop快速的制作标准一寸证件照(8张的或者9张的)

首先将相机卡里的照片存放在电脑硬盘里&#xff1a; 打开PS图片处理软件&#xff0c;点击文件——找到要制作的照片点击图片——打开。 打开后界面如下&#xff1a;点击左侧工具栏里的裁剪工具&#xff0c;宽度设为2.5cm&#xff0c;高度设为3.5cm&#xff0c;分辨率为300像素&…

一寸照 证件照 ps

此方法适合制作少批量的证件照  打开一张已裁剪好的2英寸证件照&#xff08;规格&#xff1a;3.3cmX4.8cm&#xff0c;分辨率&#xff1a;320像素/英寸&#xff09;&#xff0c;如图&#xff11;&#xff1a;  打开应用程序菜单&#xff0c;执行“图像&#xff1e;画布大小…