使用VSCODE 调试ros2具体设置

vscode 调试 ROS2

张得帅!

于 2023-09-09 15:39:39 发布

456

收藏 1

文章标签: vscode ros2

版权

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

.

├── build

├── install

├── log

└── src

2、 安装ros插件

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

cpp 复制代码
//代替命令行进行编译
{
    "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对应的文件改成自己的

cpp 复制代码
//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编译模式

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

6、编译 ctrl+shift+B 编译

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

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


版权声明:本文为CSDN博主「张得帅!」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_37946291/article/details/132777963

感谢这个人写的这个文章,自从有了visual studio code 支持,deoifviuhwsifvoiwemoivfoi

相关推荐
搜yyzk6689 分钟前
智能语音电销机器人:高效率自动筛选客户
机器人
码匠许师傅1 小时前
【C++ 面试真题】聊聊 C++ 中的 lambda 表达式
java·c++·面试
企鹅的企1 小时前
2027北京AI健康科技与智慧医疗展官方从速锁定
人工智能·科技·机器人
依然鸣1 小时前
PTA团体程序设计天梯赛L1真题讲解L1-085-088
数据结构·c++·经验分享·算法·深度优先·pat考试
workflower2 小时前
案例 :某交通厅基于AI技术的智能安全运营实践
网络·人工智能·安全·设计模式·机器人
沙盘客2 小时前
AFSIM 14篇 C++ 插件开发:扩展你的仿真能力
c++·后端
NeilYuen2 小时前
【vemory】高性能KV存储AOF方案设计
linux·c++·redis·缓存
王老师青少年编程4 小时前
2021年CSP-J初赛真题及答案解析(完善程序2)
c++·真题·csp-j·答案·csp·初赛·信奥赛
有点。4 小时前
C++二叉树(一)
开发语言·数据结构·c++
消失的旧时光-19434 小时前
7-fix补充篇:机器人为什么需要多级控制仲裁?Cloud、Linux 与 MCU 分别管什么
linux·单片机·机器人·仲裁机制·安全保护机制