【ROS】 在VScode中 ROS Debug 配置方法非常详细版

前言

本篇主要描述如何在ROS下进行C++ debug断点调试功能,本部分基本完全参考官方文档实验:

https://github.com/ms-iot/vscode-ros

官方gif展示图示意:
【ROS】 在VScode中 ROS Debug 配置方法非常详细版_第1张图片

以下为静态图片展示区及解释区:

0. 编译时需要额外Debug标签

需要以debug type进行编译吼!

cd catkin_ws
catkin_make -DCMAKE_BUILD_TYPE=Debug

BUILD_TYPE如果不写的话 一般默认是Relese(如果没记错的话)

1. 下载对应vscode插件 ROS

【ROS】 在VScode中 ROS Debug 配置方法非常详细版_第2张图片

2. 进入workspace空间

注意词典(不是src文件夹下) 是workspace空间,也就是一般catkin_ws这种文件夹,详情可见截图推导:

【ROS】 在VScode中 ROS Debug 配置方法非常详细版_第3张图片

3. debug文件自动配置

【ROS】 在VScode中 ROS Debug 配置方法非常详细版_第4张图片

这是一个长图 为了更好的一次性说明:

  1. 打开右侧debug也就是上一步里面的步骤了,然后点击create new

  2. 在②步红点中 如图输入ROS

  3. 在③步红点中 如图选择ROS: Launch

  4. 然后出现的就是你能source到的所有的launch文件,你要知道你想launch的是哪一个,比如在这里我的一般手动直接launch是

    roslaunch planning_core planning.launch
    

    这里我同样想debug这个launch下的所有节点,那么就是如图选择对应launch所在package名

  5. 选择对应的launch文件即可

按下enter后,会自动生成一个launch.setting的文件,是vscode debug的配置文件

【ROS】 在VScode中 ROS Debug 配置方法非常详细版_第5张图片

所以如果你懒得使用vscode自动步骤,也可以自创这个文件 粘贴复制 修改对应自己的launch(但是那个ROS插件是需要安装的哈!)

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "ROS: Launch",
            "request": "launch",
            "target": "/home/kin/gpir_ws/src/gpir/planning_core/launch/planning.launch",
            "type": "ros"
        }
    ]
}

以上配置完成 接着就是直接debug了

4. debug示意

  1. 先自己开一个roscore
  2. 在这里点击运行即可调试launch文件

【ROS】 在VScode中 ROS Debug 配置方法非常详细版_第6张图片

整体示意如下:右侧可以下拉选中node节点或者是debug所在的node区

【ROS】 在VScode中 ROS Debug 配置方法非常详细版_第7张图片

5. 现存问题

  1. 对于规划这种需要走到仿真器那边的,需要一次性一起一个launch来debug不然会出现时间轴不同步,因为carla自身无法debug为你停下来,此点需要后续看一下,保留此问题
【ROS】 在VScode中 ROS Debug 配置方法非常详细版_第8张图片
Unable to open 'nanosleep.c': Unable to read file '/build/glibc-S9d2JN/glibc-2.27/sysdeps/unix/sysv/linux/nanosleep.c' (Error: Unable to resolve nonexistent file '/build/glibc-S9d2JN/glibc-2.27/sysdeps/unix/sysv/linux/nanosleep.c').
Unable to open 'cancellation.S': Unable to read file '/build/glibc-S9d2JN/glibc-2.27/sysdeps/unix/sysv/linux/x86_64/cancellation.S' (Error: Unable to resolve nonexistent file '/build/glibc-S9d2JN/glibc-2.27/sysdeps/unix/sysv/linux/x86_64/cancellation.S').
  1. 车辆.xacro模型无法走debug launch导入

    但是暂时有苟的方案,就是正常自己运行一遍launch然后删除导入的那句话,就可以debug也能得到上次缓存的xacro模型文件


赠人点赞 手有余香 ;正向回馈 才能更好开放记录 hhh

你可能感兴趣的:(Ubuntu,&,ROS,VSCode,vscode,debug,ros)