Ros VsCode C++ 打断点Debug过程实现 | 可能是当前好懂的教程

news/2024/11/17 11:58:03/

前言

  • 学了蛮久的Ros,最近第一次有一个项目去复现,通过C++实现。实现过程中必然需要Debug一步步的解决问题。然后发现VsCode上Debug Ros还是有点麻烦的,(不同于IDEA非常简明的Debug方式,这里要谴责一下微软,新建项目还要整includepath ,Debug也麻烦)。网上搜了一堆都讲的不清不楚。自己略微总结了一下分享给大家。
  • 一开始我一直想通过 【打断点】+【跑 rosrun package node】 +【按Debug按钮】(IDEA就是这么做!),其中node对应了几个C++文件。但问题来了,一个节点node既不是launch文件也不是C++/python文件,捣鼓了很久,看了几篇教程设置gdb什么的都不行。

Debug流程

记得先打好断点

  • 一番实践后发现 :
    • rosrun package node 改为launch文件,比如我这样改:
      在这里插入图片描述
  • 调出VsCode中launch文件专用的Debug配置文件。具体就是先点左边有个小爬虫的图片,然后可以直接勾选ROS:Launch 或者先Add Configuration里再添加Ros:Launch。
    在这里插入图片描述
  • 然后会发现,他给我们自动添加了一个叫launch.json的文件,我们只要配置好这个文件就可以正常Debug了。
  • 其实要修改的只有"target"这一项,我这里直接把他改成了我launch文件的绝对地址。
    在这里插入图片描述
  • 然后我们点击 绿色的 按钮,就可以开始Debug流程了
    在这里插入图片描述
  • Debug开始后 ,右上角有一小排的按钮可以供我们利用。
    在这里插入图片描述

其实流程也很简单,网上很多教程表述的太不清楚。不同软件厂商的对编译工具的设计也不一样,在Debug上我觉得IntelliJ IDEA 远远优于VsCode的,VsCode胜在轻便。希望不同的厂商能互相学习吧,尽量统一设计语言和操作逻辑。


http://www.ppmy.cn/news/3841.html

相关文章

openEuler 倡议建立 eBPF 软件发布标准

eBPF 是一个能够在内核运行沙箱程序的技术,提供了一种在内核事件和用户程序事件发生时安全注入代码的机制,使得非内核开发人员也可以对内核进行控制。随着内核的发展,eBPF 逐步从最初的数据包过滤扩展到了网络、内核、安全、跟踪等&#xff0…

acm是什么?你准备好去打了吗?(未完结)

1.引言2.acm究竟是什么?3.acm的时间安排4.acm该如何准备1.引言 作为一个零基础的小白,acm这条路走的并不顺畅,接触的信息很少,以至于在这条道路上走了不少弯路,浪费了大量的时间,现在也快要退役的阶段&…

【java设计】:全民飞机大战小游戏制作

文章目录 前言 一、全民飞机大战 二、计划安排 三、源码图和类图展示

改进类电磁机制算法(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭:行百里者,半于九十。 📋📋📋本文目录如下:🎁🎁🎁 目录 💥1 概述

第16章 前端登录页面的定义实现

1 Vue与uni-app Uni-app是基于Vue的,但以不完成等同于Vue,Vue的前端实现只能使用浏览器进行渲染显示,而uni-app的前端实现,可以在小程序、App、浏览器都能够进行渲染显示。 Vue与Razor 1、如果没能指定需要前后端分离实现&#x…

【Flask框架】——16 Jinja2模板

文章目录Jinja2模板一、Jinja2模板介绍1.模板传参2.语法二、表达式三、控制语句1.条件判断语句2.for循环语句:四、过滤器1.什么是过滤器2.字符串的过滤器3.数值过滤器4.列表相关过滤器5.字典相关过滤器6.自定义过滤器五、测试器1.Jinja2中内置的测试器2.自定义测试器…

十个精妙绝伦的SQL语句,说尽SQL精华

目录引子十大SQL1. 统计班级总分前十名2. 删除重复记录, 且保留一条3. 最大连续登陆天数的问题4. 计算除去部门最高工资,和最低工资的平均工资5. 计算占比和同比增长6. 算成绩7.算昨天每个城市top 10消费金额的用户,输出city_id,city_name,uid, 消费总金…

driftingblues2靶机(nmap提权)

环境准备 靶机链接:百度网盘 请输入提取码 提取码:9qkq 虚拟机网络链接模式:桥接模式 攻击机系统:kali linux 2021.1 信息收集 1.探测目标靶机 2.探测目标靶机开放端口和服务 3.用dirsearch扫描目录 dirsearch -u 192.168.…