ros 程序断点调试_ROS下如何Debug?5分钟快速入门

更受欢迎的开源机器人操作系统ROS已经九岁了。ROS给机器人系统的进程间通讯提供了一个统一的,跨平台的框架,这给经常连接几十个各种各样设备的机器人应用带来了非常大的便利。我也很喜欢使用ROS,以前打Robocup的时候,整个人形机器人的上层控制系统就是全部基于ROS Groovy写的。那时候开发和Debug主要靠Qt,反正队里有大神搞定编译的问题。

但如果不能用Qt之类的IDE呢?其实和其他Linux编程一样,用命令行有很方便而且很轻便的工具,只是上手未必容易。今天这篇文章我们把命令行下Debug ROS程序的流程整个梳理一遍,看完你会发现,其实并不复杂!

我们使用的主要工具是GDB。这是Linux诸多c/c++ debug工具中最流行的一种。只要你装了gcc(这是大多数Linux系统的默认c/c++编译器),GDB一般都捆绑安装过了。本文只讨论使用c++的 ROS程序。Python有PDB,我还不了解。

如果有更好的方法欢迎留言讨论!

步骤一  Build with debug label

编译器有些优化会让debug无法进行。为了避免这种情况,程序编译时要加上debug选项。

如果你用Catkin,用catkin_make 时加上一个参数:

catkin_make -DCMAKE_BUILD_TYPE=Debug

如果你想给Release版本Debug,就这样

catkin_make -DCMAKE_BUILD_TYPE=RelWithDebInfo

如果你用Rosbuild,在你的CMakeLists.txt靠近顶部的位置加上这样一句即可:

set(ROS_B

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值