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、即可停在自己打断点的位置

相关推荐
console.log('npc')2 小时前
Codex 桌面端接入 Headroom 压缩代理完整教程
前端·vscode
女神下凡20 小时前
这是 Cursor(Composer) 的五种核心交互模式
服务器·人工智能·windows·vscode·microsoft
生信碱移1 天前
Vscode 连接 ipynb 选择内核无法自动显示 conda 环境对应的 python
服务器·人工智能·经验分享·vscode·python
爱就是恒久忍耐1 天前
VSCode里clangd如何配置跳转
ide·vscode·编辑器
SmartManWind1 天前
vscode中claude-code插件wsl中开启自动模式
ide·vscode·编辑器·claude code
Watink Cpper1 天前
VSCode通过ChatGPT5.5登陆codex:sign-in could not be complete 问题解决方案
ide·vscode·编辑器·codex·gpt5.5
竹叶青lvye1 天前
ROS2自定义接口消息、参数服务案例
人工智能·ros2·具身智能·接口消息·参数服务
小庞在加油2 天前
从qmake到CMake+VSCode:Qt项目现代化迁移与AI提效实战指南
vscode·qt·ai·ai工具
utf8mb4安全女神2 天前
HTML网页【vscode】【Linux】
ide·vscode·编辑器
knighthood20012 天前
解决RTPS_TRANSPORT_SHM Error
ros2