【学习记录】vscode+ros2+cpp调试

本文仅用于个人记录。

参考:https://zhuanlan.zhihu.com/p/697007274

1. 安装插件

ROS2

C/C++

2. 编译指令

bash 复制代码
colcon build \
    --cmake-args  -DCMAKE_BUILD_TYPE=RelWithDebInfo\
    -Wall -Wextra -Wpedantic \
    -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
    --symlink-install

指令说明


3.配置文件 settings.json

完成编译后,使用 F1 打开指令栏,输入:ROS: Update C++ Properties 然后确认。

这会帮你在 .vscode 文件夹下生成 c_cpp_properties.json 和 settings.json 文件。这会帮你的 vscode 理解项目依赖的路径。

不用在意c_cpp_properties,因为我采用的是clangd。只需要修改settings.json:

settings.json

xml 复制代码
{
    "C_Cpp.intelliSenseEngine": "disabled",
    "clangd.arguments": ["--compile-commands-dir=."],
    "clangd.completion.completeBrackets": false,
    "ROS2.distro": "jazzy",
    "ROS2.rosSetupScript": "${workspaceFolder}/install/setup.bash",
}

重点是最后两行, 用的是ROS2的jazzy,和对应的setup.bash

4. 调试启动程序 launch

launch.json

单一节点的启动程序

xml 复制代码
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Debugger",
            "request": "launch",
            "type": "cppdbg",
            "cwd": "/",
            "program": "${workspaceFolder}/install/p2v/lib/p2v/lio_node"
        }
    ]
}

5. 开始调试

使用 ctrl+shift+d 打开 Run and debug 栏,选择你的配置文件,然后点击 F5 就可以对程序进行断点调试了。对于多个节点的程序调试起来也没问题。

可以打断点、或者在断的地方进行输出调试。

相关推荐
mrsyf38 分钟前
VSCode的插件配置同步到gitee
vscode·gitee
嵌入式-老费2 小时前
自己动手写深度学习框架(快速学习python和关联库)
开发语言·python·学习
椰汁菠萝2 小时前
VsCode中终端无法运行前端命令
vscode·终端·无法运行
执笔论英雄2 小时前
【大模型训练】zero 学习及deepseed实战
人工智能·深度学习·学习
初圣魔门首席弟子4 小时前
vscode多文件编程bug记录
java·vscode·bug
前路不黑暗@4 小时前
Java:继承与多态
java·开发语言·windows·经验分享·笔记·学习·学习方法
2501_916007474 小时前
从零开始学习iOS App开发:Xcode、Swift和发布到App Store完整教程
android·学习·ios·小程序·uni-app·iphone·xcode
_dindong6 小时前
牛客101:递归/回溯
数据结构·c++·笔记·学习·算法·leetcode·深度优先
笨鸟笃行6 小时前
百日挑战——单词篇(第十二天)
学习
lingggggaaaa7 小时前
小迪安全v2023学习笔记(一百四十三讲)—— Win系统权限提升篇&AD内网域控&NetLogon&ADCS&PAC&KDC&CVE漏洞
windows·笔记·学习·安全·内网安全·权限提升