当前位置: 首页 > news >正文

基于vscode(GDB)调试ros2节点

  • 一、环境准备

必备vscode插件

1)Docker

 Docker - Visual Studio Marketplace

2)Dev Containers

Dev Containers - Visual Studio Marketplace

3)GDB

GDB Debug - Visual Studio Marketplace

  • 二、进去docker镜像

1)docker安装ROS2 X86镜像包并启动容器

docker pull ryuichiueda/ubuntu22.04-ros2:latest

ctrl+shift+p或者查看进入命令面板->Dev Containers进入开发容器

推荐在容器中安装如下插件

  • 三、配置tasks.json与launch.json

配置tasks.json:

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell", // 任务的类型为shell
            "label": "Run build.sh",// 定义了任务的名称
            "command": "cd ${workspaceFolder} && ./build.sh && source install/setup.bash", // 执行节点编译脚本或者直接colcon build ... ,${workspaceFolder}就是你的项目目录,并允许ros2节点环境脚本
            "args": [],// 传递给脚本的参数
            "options": {
            "cwd": "${workspaceFolder}" // 任务执行时的工作目录
            },
            "problemMatcher": [], // 问题匹配器的配置
            "group": "build" // 此任务分配到构建任务组中
        }
    ]
}

launch.json配置

{
  "version": "0.2.0",
  "configurations": [
      {
          "name": "ROS: Launch",
          "preLaunchTask": "Run build.sh",
          "type": "ros",
          "stopAtEntry": true,
          "request": "launch",
          "target": "${workspaceFolder}/src/core/launch/my_ros_node.launch.py" // 节点启动python脚本
      }
  ]
}
  • 三、启动调试

1)F5运行编译并进行调试(前置条件ros2节点编译时需打开-DCMAKE_BUILD_TYPE=Debug

2)可自行打断点进行调试,整个流程完成

下一期更新远程调试ros2节点(交叉编译环境实际开发板)

http://www.dtcms.com/a/108937.html

相关文章:

  • 基于腾讯云EdgeOne Pages技术轻松搭建专属的对话型 AI 网站
  • 基于ResNet18的Cifer-10数据集图像分类
  • UE5学习笔记 FPS游戏制作42 按钮添加回调函数
  • SpringBoot项目Sa-token框架整合JWT
  • 每天学一个 Linux 命令(12):chown
  • flutter 项目结构目录以及pubspec.ymal等文件描述
  • /////////
  • [MySQL初阶]MySQL库的操作
  • 位置编码(Positional Encoding, PE)的作用
  • 开源AI模型落地教程:如何在个人电脑安装并运行QwQ-32B大模型
  • 【MyBatis】深入解析 MyBatis:关于注解和 XML 的 MyBatis 开发方案下字段名不一致的的查询映射解决方案
  • 【Linux】动静态库知识大梳理
  • Android Gradle、Android Gradle Plugin、BuildTool关系
  • 真实笔试题
  • Smallworld Geo Network Management(GNM):电力-通信-公共设施GIS平台
  • 树莓派 5 部署 OMV(OpenMediaVault)
  • 解决docker的ubuntu系统中文乱码问题
  • 【HarmonyOS Next之旅】DevEco Studio使用指南(十)
  • 深度学习 Deep Learning 第16章 结构化概率模型
  • STM32单片机入门学习——第10节: [4-2] OLED显示屏
  • 图扑 HT 电缆厂 3D 可视化管控系统深度解析
  • Tmux 核心操作速查指南
  • 解释回溯算法,如何应用回溯算法解决组合优化问题?
  • Android Settings 有线网设置界面优化
  • 基于springboot的考研成绩查询系统(源码+lw+部署文档+讲解),源码可白嫖!
  • 【C++】Cplusplus进阶
  • 2025徘徊与坚守:在传统与变革间寻找自己
  • 启服云专利管理系统:铸就知识产权保护的坚固壁垒
  • 基于YOLOv8的热力图生成与可视化:支持自定义模型与置信度阈值的多维度分析
  • Python第七章08:导入自定义(个性化)模块