vscode ROS c++代码调试

利用vscode调试代码主要步骤包括两步:debug配置和设置断点调试。
在ros节点能编译运行的前提下,对出现的core dump等问题进行调试。
一、debug配置
debug配置包括vscode配置以及ros功能包的cmakelist文件配置。
vscode配置:

1.创建并配置launch.json文件

VSCode中是以workspace的概念处理文件关联的,每个workspace文件夹下会有一个.vscode文件夹,该文件夹下放置的是关于该workspace的路径配置、任务配置、运行配置等文件,我们正是通过编辑这些配置文件实现对工程的管理。

一般没有launch.json文件,需要自己手动生成。生成方法:
Ctrl + Shift + D弹出调试窗口,点击create a launch.json file, 一般选择gdb模式。
请添加图片描述
创建出来的launch文件中:
修改“name"为调试的节点名(随便自己定都行,只是方便在调试多个程序的时候有区分)
修改"program"为可执行文件的位置,在ros中一般是在devel/lib/包名/路径下

{
  // 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": "send_node",
      "type": "cppdbg",
      "request": "launch",
      "program": "${workspaceFolder}/track_ws/devel/lib/mot_tracking/data_send_node",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "setupCommands": [
        {
          "description": "为 gdb 启用整齐打印",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ]
    }
  ]
}

2.设置编译文件cmakelist文件为编译模式

在cmakelist文件中添加:

SET(CMAKE_BUILD_TYPE Debug)

或者是catkin_make在编译功能包时,添加catkin_make的参数

catkin_make -DCMAKE_BUILD_TYPE=Debug

如果工作空间下由多个功能包,可以在编译时添加-DCATKIN_WHITELIST_PACKAGES编译指定功能包

catkin_make -DCMAKE_BUILD_TYPE=Debug -DCATKIN_WHITELIST_PACKAGES="package1;package2"

3.最后重新编译,就可以设置断点进行调试了

Ctrl + Shift + D弹出调试窗口
点击绿色小三角进行调试,然后就可以正常的像一般调试一样单步运行查看中间变量了。
请添加图片描述
参考:https://blog.csdn.net/u013834525/article/details/106003959
https://blog.csdn.net/u012254599/article/details/106143540/?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0.no_search_link&spm=1001.2101.3001.4242.1

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值