Vscode中使用Romote远程开发调试Ros2环境

首先,成功安装ros2环境,参考官方文档中的教程,能用运行出来此处的代码

Writing a simple publisher and subscriber (Python) --- ROS 2 Documentation: Iron documentation

下载vscode,进行远程开发,具体参考:Vscode进行远程开发-CSDN博客

在vscode中安装调试ros2所需要的插件,有Python、Pylance、C/C++、CMake Tools、ROS

这些插件安装完成之后,我们已经可以在Vscode中自由跳转Python代码和Ros环境中的rclpy包了

之所以能跳转ros环境的包,是因为我们项目文件夹下面的./vscode中settings.json中成功导入了ros环境的位置

除了.settings.json文件夹,安装Ros插件后,.vscode文件中会自动有一个c_cpp_properties.json文件,里面也是已经自动填充了内容

接下来在.vscode中创建tasks.json文件

会自动生成tasks.json文件,并且插入内容

然后继续在.vscode创建一个文件launch.json文件

复制代码
{
  // 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": [
    // Example launch of a python file
    {
      "name": "Launch",
      "type": "python",
      "request": "launch",
      "program": "/opt/demo_ws/src/py_pubsub/py_pubsub/publisher_member_function.py", #注意此处改成你自己的要调试的文件路径
      "console": "integratedTerminal",
    },
    // Example gdb launch of a ros executable
    {
      "name": "(gdb) Launch",
      "type": "cppdbg",
      "request": "launch",
      "program": "/opt/demo_ws/py_pubsub/lib/py_pubsub/talker",#此处暂时不太清楚
      "args": [],
      "stopAtEntry": true,
      "cwd": "/opt/demo_ws",
      "externalConsole": false,
      "MIMode": "gdb",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ]
    }
  ],
  "inputs": [
    {
      "id": "package",
      "type": "promptString",
      "description": "Package name",
      "default": "learning_ros2"
    },
    {
      "id": "program",
      "type": "promptString",
      "description": "Program name",
      "default": "ros2_talker"
    }
  ]
}

我们目前只能调试python文件,无法调试 ros executable 。打上断点,即可调试了

还有一个问题是:

没有办法调试srv和msg,目前需要解决一下

相关推荐
TOSUN同星34 分钟前
干货分享 | TSMaster DBC编辑器操作指南:功能详解+实战示例
数据库·oracle·编辑器·汽车·软件工程
LIN-JUN-WEI2 小时前
[ESP32]VSCODE+ESP-IDF环境搭建及blink例程尝试(win10 win11均配置成功)
c语言·开发语言·ide·vscode·单片机·学习·编辑器
hans汉斯4 小时前
【人工智能与机器人研究】基于力传感器坐标系预标定的重力补偿算法
人工智能·算法·机器人·信号处理·深度神经网络
想要成为计算机高手7 小时前
4. isaac sim4.2 教程-Core API-Hello robot
人工智能·python·机器人·英伟达·isaac sim·仿真环境
YFJ_mily8 小时前
2025第二届机电一体化、机器人与控制系统国际会议(MRCS2025)即将来袭
大数据·人工智能·机器人·机电一体化
Ronin3058 小时前
【Linux系统】vim编辑器 | 编译器gcc/g++ | make/Makefile
linux·运维·服务器·ubuntu·编辑器·vim
织_网8 小时前
Visual Studio Code 中统一配置文件在团队协作中的应用
ide·vscode·编辑器
雷羿 LexChien19 小时前
从 Prompt 管理到人格稳定:探索 Cursor AI 编辑器如何赋能 Prompt 工程与人格风格设计(上)
人工智能·python·llm·编辑器·prompt
weixin_4462608521 小时前
Isaac Lab:让机器人学习更简单的开源框架
学习·机器人
到底起什么网名才能不重名1 天前
使用各种CSS美化网页
前端·css·vscode·bootstrap·html