前言
- 学了蛮久的Ros,最近第一次有一个项目去复现,通过C++实现。实现过程中必然需要Debug一步步的解决问题。然后发现VsCode上Debug Ros还是有点麻烦的,(不同于IDEA非常简明的Debug方式,这里要谴责一下微软,新建项目还要整includepath ,Debug也麻烦)。网上搜了一堆都讲的不清不楚。自己略微总结了一下分享给大家。
- 一开始我一直想通过 【打断点】+【跑
rosrun package node
】 +【按Debug按钮】(IDEA就是这么做!),其中node对应了几个C++文件。但问题来了,一个节点node既不是launch文件也不是C++/python文件,捣鼓了很久,看了几篇教程设置gdb什么的都不行。
Debug流程
记得先打好断点
- 一番实践后发现 :
- 把
rosrun package node
改为launch文件,比如我这样改:
- 把
- 调出VsCode中launch文件专用的Debug配置文件。具体就是先点左边有个小爬虫的图片,然后可以直接勾选ROS:Launch 或者先Add Configuration里再添加Ros:Launch。
- 然后会发现,他给我们自动添加了一个叫
launch.json
的文件,我们只要配置好这个文件就可以正常Debug了。 - 其实要修改的只有
"target"
这一项,我这里直接把他改成了我launch文件的绝对地址。
- 然后我们点击 绿色的 按钮,就可以开始Debug流程了
- Debug开始后 ,右上角有一小排的按钮可以供我们利用。
其实流程也很简单,网上很多教程表述的太不清楚。不同软件厂商的对编译工具的设计也不一样,在Debug上我觉得IntelliJ IDEA 远远优于VsCode的,VsCode胜在轻便。希望不同的厂商能互相学习吧,尽量统一设计语言和操作逻辑。