ROS第五梯:ROS+VSCode+C++单步调试

devtools/2024/9/23 7:14:13/

解决问题:在ROS项目中进行断点调试。

第一步:创建一个ROS项目或者打开一个现有的ROS项目。

第二步:修改c_cpp_properties.json

增加一段命令:

"compileCommands": "${workspaceFolder}/build/compile_commands.json"

第三步:修改task,json

把task,json文件中的label改成catkin_make:

第四步:生成和修改launch.json文件

生成launch.json文件

添加和修改内容:在launch.json文件右下方点击“Add configuration”,然后选择“C/C++: {gdb}Launch”,则会在json文件中生成一堆默认信息,一般仅需修改以下内容:

(1)program:对应可执行文件的路径,一般在devel/lib/包名/可执行文件名(节点名称)

(2)增加preLaunchTask:跟task.json里面的label对应。

第五步,修改对应包的CMakeLists.txt文件

在文件前面添加下列命令(该命令用于在调试过程显示局部变量的值):

SET(CMAKE_BUILD_TYPE Debug)

第六步,进行编译调试——按F5


http://www.ppmy.cn/devtools/115878.html

相关文章

iOS界面布局:屏幕尺寸与安全区域全面指南

引言 随着iPhone和iPad的更新迭代,iOS设备的屏幕尺寸和设计也在不断变化。无论是iPhone X系列的刘海屏,还是最新的iPhone 14,开发者都需要面对适配不同设备布局的问题。在项目开发中,导航栏、状态栏、TabBar的高度以及安全区域的…

c++~输入函数

字符串输入 方法 描述 优点 缺点 cin 使用 cin 直接读取字符串。 简单易用。 只能读取到第一个空格之前的字符串,换行结束输入。 getline(cin, str) 使用 getline 从 cin 读取一整行。 可以读取含有空格的整行文本。 相对于 cin,使用稍微复杂…

大话Python|基础语法(上)

一、单行注释 以下代码输出一个Hello World!字符串 在Python代码中,注释会自动被Python解析器忽略 print(Hello World) 二、多行注释 在Python代码中,注释一共有两种形式; 1、单行注释:注释的内容只有一行 2、多行…

口腔检测系统源码分享

口腔检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vision …

《〈妈妈朋友的儿子〉:一场别样的浪漫与成长之旅》

《〈妈妈朋友的儿子〉:一场别样的浪漫与成长之旅》 最近,一部名为《妈妈朋友的儿子》的韩剧,如同一颗闪耀的新星,在影视的天空中绽放出独特的光芒,吸引了众多观众的目光。今天,就让我们一同走进这个充满温情…

【功能详解】IoTDB 与 ThingsBoard 成功集成!

可视化工具集成1 IoTDB 实现了 ThingsBoard 的无缝集成对接,IoTDB 构建的工业数据存储处理-可视化呈现链路又多了一种可用、易用的工具选择。 我们的代码已贡献到 ThingsBoard 社区(待发版),用户手册也已发布(可点击下…

Spring AOP 总结

1.简介 Spring AOP是Spring针对面向切面编程的落地方案,用于解决非核心代码的冗余问题。 Spring AOP只能运用于存于IoC容器中的对象。 2.知识 2.1 底层实现 Spring AOP框架针对不同情况有两种底层实现基于Jdk的动态代理和基于cglib: 动态代理&…

探索 Web Speech API:实现浏览器语音识别与合成

引言 Web Speech API 是一项由 W3C 开发的 Web 标准,为开发者提供了在 Web 应用程序中实现语音识别和语音合成的能力。通过 Web Speech API,我们可以让网页与用户进行语音交互,实现更加智能化和便捷的用户体验。本文将深入探讨 Web Speech A…