625|1

688

帖子

25

资源

版主

37“万里”树莓派小车——ROS学习(VSCode调试ROS) [复制链接]

本帖最后由 lb8820265 于 2022-5-10 00:27 编辑

    之前有介绍过VSCode的调试,那是GDB调试,ROS工程也可以这么调试,但是不推荐,推荐使用Attach调试,Attach调试优点是可以单个节点调试,不需要编译整个工程,但是缺点就是需要先运行节点,再进入调试。可参考官网Debug ROS Nodes文档。

    本节是基于上一节“ROS学习(VSCode实现Hello world)”基础上进行修改。

1 修改“helloworld_c.cpp”代码

    由于Attach调试需要节点一直运行,因此修改“helloworld_c.cpp”让其每秒发出一次“Hello world!”代码如下。

#include <ros/ros.h>
int main(int argc,char *argv[]){
  ros::Time::init();
  while(1){
    ros::Duration(1).sleep();
    ROS_INFO("Hello world!");
  }
  return 0;
}

2 创建与配置“launch.json”文件

在主菜单中选择“运行->添加配置”(或点击调试与运行按钮,选择创建launch.json),然后选择“ROS”环境。

image-20220510001443-1.png     再选择“ROS:Attach”。

image-20220510001443-2.png     会自动生成“launch.json”文件和代码,代码不需要做任何修改。
image-20220510001443-3.png  

    如果在选择环境的步骤中没有“ROS”环境可选,而是只有“C++(GDB/LLDB)”环境,说明没有先配置“tasks.json”文件,这也没有关系,先选择“C++(GDB/LLDB)”环境,然后点击下方“添加配置”按钮,选择“ROS:Attach”即可。

image-20220510001443-4.png

 3  运行“helloworld_node”节点

    按下“Ctrl+Shift+P”打开命令窗口,输入“ROS:Run a ROS executable”,回车后输入包名“helloworld”,回车后输入执行文件名“helloworld_node”,再按下两次回车。一切正常的话在终端窗口中会每秒输出一次“Hello world!”。

4 启动Attach调试

    点击“运行与调试按钮”(或者按下“Ctrl+Shift+D”),点击“ROS:Attach”调试,点击“C++”。

image-20220510001443-5.png      输入已经运行的节点“helloworld_node”,回车。

image-20220510001443-6.png      提出警告,输入“y”,回车,会要求输入密码。

image-20220510001443-7.png     调试可以打断点,查看变量。

image-20220510001443-8.png 问题

    使用Attach调试每次都需要输入一遍密码,相当麻烦。此外,如果需要调试多个节点,应该怎么操作呢?

个人签名QQ:252669569

回复

1

帖子

0

资源

一粒金砂(初级)

写的真不多暗杀吉萨婚纱撒凯撒金属拉丝LS萨拉SL老师SDADADADACASC

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

最新文章 更多>>
    推荐帖子
    CCSv7使用指南0 软件下载和安装

    最近在做TI DSP的产品开发,把自己做的总结发上来给大家分享,希望有用。 此内容由EEWORLD论坛网友qdbjsha原创,如需转载或 ...

    Vcm vs Vout Calculator for Instrumentation Amplifiers

    方便大家下载

    电压跟随

    因为传感器信号比较弱,直接放大会导致信号失真,所以采用电压跟随后再放大,用LMV612做完跟随后发现跟随后电压比原电压高5mV左 ...

    玩转Zynq连载3——AXI总线协议介绍1

    447574 1 AXI协议简介 AMBA AXI(Advanced eXtensible Interface)协议是一种面向高性能、高带宽系统设计的总线协议 ...

    单片机复位的原理说明

    单片机的复位电路使单片机进入复位状态。通过复位操作可以完成单片机的初始化,也可使处于死机状态下的单片机程序重新开始运 ...

    Qorvo 将亮相 IMS 2021

    在科技的推动下,人民在过去多年里已经开始逐渐改变他们生活、工作和娱乐的方式,作为射频领域领先的专家,Qorvo 能帮助你设计更 ...

    关闭
    站长推荐上一条 1/10 下一条

    About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

    站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2022 EEWORLD.com.cn, Inc. All rights reserved
    快速回复 返回顶部 返回列表