如何调试单个cpp_【ROS教程 004】ROS的调试

本文介绍了如何在ROS环境中使用GDB调试器调试C++节点,包括直接在GDB中运行节点和通过启动文件启动时调用GDB。此外,还讲解了如何利用ROS工具如rxgraph在线监视节点状态图以及使用roswtf检测功能包问题,以增强系统监控和调试能力。
摘要由CSDN通过智能技术生成

6429ee8928326e4309caec5294d86ead.png

需要特别说明:ROS版本必须与Ubuntu系统版本匹配

实验环境:

ROS Fuerte

Ubuntu 12.04

ROS软件框架附带了大量功能强大的工具,包括调试工具、数据可视化工具、系统监测组件。ROS提供了一系列通用绘图工具,其中有针对标量值的时序绘图工具、支持双目立体视觉的图像展示工具、rviz等3D可视化工具(能够呈现点云、激光扫描等3D数据)。

1 调试ROS节点

(1)使用GDB调试器调试ROS节点

在ROS系统中允许使用GDB调试器对常规的C/C++程序进行调试。这里我们展示如何在GDB中运行chapter3_tutorials功能包中的example1节点。创建chapter3_tutorials功能包,并新建编译example1节点,example1.cpp中的代码如下:

#include "ros/ros.h"

int main( int argc, char **argv )
{

  ros::init( argc, argv, "example1" );

  ros::NodeHandle n;

  const double val = 3.14;

  ROS_DEBUG( "This is a simple DEBUG message!" );

  ROS_DEBUG( "This is a DEBUG message with an argument: %f", val );

  ROS_DEBUG_STREAM(
  "This is DEBUG stream message with an argument: " << val
  );

  ros::spinOnce();

  return EXIT_SUCCESS;

}

进入功能包路径:

$ roscd davebobo_tutorials/

然后,在GDB里面运行以下命令:

$ gdb bin/example1

一旦roscore已经启动,你就可以通过点击R键或Enter键从GDB中启动节点,也可以用L键列出相关的源代码。如果一切正常,在调试器内运行节点后就能在GDB终端看到下面的输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值