vscode 调试 ROS2

1、在下列目录同层级找到.vscode文件夹

.

├── build

├── install

├── log

└── src

2、 安装ros插件

3、创建tasks.json文件,添加下列内容

复制代码
//代替命令行进行编译
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "catkin_make", //代表提示的描述性信息
            "type": "shell", //可以选择shell或者process,如果是shell代码是在shell里面运行一个命令,如果是process代表作为一个进程来运行
            // "command": "catkin_make",//这个是我们需要运行的命令
            "command": "colcon build --cmake-args -DCMAKE_BUILD_TYPE=Debug", //这个是我们需要运行的命令
            // "command": "catkin_make -DCMAKE_TYPE=Release",//这个是我们需要运行的命令
            "args": [], //如果需要在命令后面加一些后缀,可以写在这里,比如-DCATKIN_WHITELIST_PACKAGES="pac1;pac2"
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "reveal": "always" //可选always或者silence,代表是否输出信息
            },
            "problemMatcher": "$msCompile"
        }
    ]
}

4、创建launch.json文件,添加下列内容,主要把program对应的文件改成自己的

复制代码
//debug
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "adjust_teb",
            "type": "cppdbg",
            "request": "launch",
            //改成自己的要编译的文件
            // "program": "${workspaceFolder}/install/ros2_navigation/lib/ros2_navigation/ros_navigation",
            "program": "${workspaceFolder}/build/ros2_navigation/adjust_teb",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

5、CMakeList.txt 增加debug编译模式

复制代码
set(CMAKE_BUILD_TYPE debug)#debug模式,程序不会被优化,速度非常慢

6、编译 ctrl+shift+B 编译

7、在这个界面,选择自己的launch.json 文件中的调试文件名,然后点击运行即可

8、即可停在自己打断点的位置

相关推荐
孙小l懒_keep_update4 小时前
【VSCODE中的Codex 打不开(页面空白,一直 Loading)】
vscode
CS_Zero13 小时前
激光雷达YDLiDAR驱动与ROS2环境搭建
无人机·飞控·ros2·激光雷达·避障
面包狗AI4S13 小时前
Codex/ChatGPT 反复 Reconnecting(正在重新连接) 5/5 的最简修复方法
人工智能·vscode·chatgpt
与自己和解74115 小时前
使用ssh实现 VScode 直连 ubuntu
vscode·ubuntu·ssh
捷瑞电子工坊17 小时前
Ubuntu 下安装 VSCode 和 gcc 的简单步骤
vscode·ubuntu·代码编辑器·安装教程·gcc·deb·snap
sunoo-22917 小时前
【网络编程 + 数据库】select 与 epoll 核心区别详解 + SQLite 入门到 C 接口全攻略
linux·网络·数据库·vscode·学习·sqlite
2501_9151063218 小时前
第一次开发 iPhone App,可能碰到的问题,解决办法
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
海阔天空任鸟飞~2 天前
rclpy
ros2
微小冷2 天前
ROS2 URDF机器人建模初步教程
机器人·ros2·urdf·机器人建模
CounterGlew5112 天前
Vscode通过ssh链接autodl云服务器并配置codex
运维·服务器·vscode