当前位置:   article > 正文

Ros VsCode C++ 打断点Debug过程实现 | 可能是当前好懂的教程_vscode运行.launch文件可以debug

vscode运行.launch文件可以debug

前言

  • 学了蛮久的Ros,最近第一次有一个项目去复现,通过C++实现。实现过程中必然需要Debug一步步的解决问题。然后发现VsCode上Debug Ros还是有点麻烦的,(不同于IDEA非常简明的Debug方式,这里要谴责一下微软,新建项目还要整includepath ,Debug也麻烦)。网上搜了一堆都讲的不清不楚。自己略微总结了一下分享给大家。
  • 一开始我一直想通过 【打断点】+【跑 rosrun package node】 +【按Debug按钮】(IDEA就是这么做!),其中node对应了几个C++文件。但问题来了,一个节点node既不是launch文件也不是C++/python文件,捣鼓了很久,看了几篇教程设置gdb什么的都不行。

Debug流程

1.记得先在编译时设置为调试模式

catkin_make -DCMAKE_BUILD_TYPE=Debug
  • 1

2.记得先打好断点

这就不多演示了

3.文件配置工作

  • 一番实践后发现 :
    • rosrun package node 改为launch文件,比如我这样改:
      在这里插入图片描述
  • 调出VsCode中launch文件专用的Debug配置文件。具体就是先点左边有个小爬虫的图片,然后可以直接勾选ROS:Launch 或者先Add Configuration里再添加Ros:Launch。
    在这里插入图片描述
  • 然后会发现,他给我们自动添加了一个叫launch.json的文件,我们只要配置好这个文件就可以正常Debug了。
  • 其实要修改的只有"target"这一项,我这里直接把他改成了我launch文件的绝对地址。
    在这里插入图片描述
  • 或者你也可以直接添加launch.json,在下面的基础上改就好了
    在这里插入图片描述
//最简单的文件实例,只要修改target里的位置,改为绝对地址就可以了
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "ROS: Launch",
            "type": "ros",
            "request": "launch",
            "target": "/home/zhangshidi/GitHub/automated_gluing_system/src/motion_planning/launch/tpn.launch"
        },
    ]
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 注意!先启动roscore
  • 然后我们点击 绿色的 按钮,就可以开始Debug流程了
    在这里插入图片描述
  • Debug开始后 ,右上角有一小排的按钮可以供我们利用。
    在这里插入图片描述

其实流程也很简单,网上很多教程表述的太不清楚。不同软件厂商的对编译工具的设计也不一样,在Debug上我觉得IntelliJ IDEA 远远优于VsCode的,VsCode胜在轻便。希望不同的厂商能互相学习吧,尽量统一设计语言和操作逻辑。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/457843
推荐阅读
相关标签
  

闽ICP备14008679号