ROS机器人程序设计(原书第2版)3.1.1 使用gdb调试器调试ROS节点

简介:

3.1.1 使用gdb调试器调试ROS节点

为了使用gdb调试器调试一个C/C++节点,唯一要知道的是可执行节点的路径。在ROS hydro和catkin功能包中,节点的可执行文件在工作空间的devel/lib/<package>文件下。例如,为了在gdb中运行chapter3_tutorials功能包中的example1节点,我们需要按如下步骤进行,首先到工作空间文件夹下(~/dev/catkin_ws):

 

如果已经运行过catkin_make install,你也使用下面命令导航到install/lib/chapter3_tutorials文件夹下:

 

现在可以使用gdb命令运行节点:

 

记住,必须在启动节点之前保证roscore运行,因为节点需要管理器/服务器运行。

一旦roscore在运行,你就可以通过点击R键和Enter键从gdb中启动节点。也可以用L键列出相关源代码,以及设置断点或使用任何gdb附带的功能。如果一切工作正常,在运行节点后就能在gdb终端看到下面的输出:

相关实践学习
阿里云图数据库GDB入门与应用
图数据库(Graph Database,简称GDB)是一种支持Property Graph图模型、用于处理高度连接数据查询与存储的实时、可靠的在线数据库服务。它支持Apache TinkerPop Gremlin查询语言,可以帮您快速构建基于高度连接的数据集的应用程序。GDB非常适合社交网络、欺诈检测、推荐引擎、实时图谱、网络/IT运营这类高度互连数据集的场景。 GDB由阿里云自主研发,具备如下优势: 标准图查询语言:支持属性图,高度兼容Gremlin图查询语言。 高度优化的自研引擎:高度优化的自研图计算层和存储层,云盘多副本保障数据超高可靠,支持ACID事务。 服务高可用:支持高可用实例,节点故障迅速转移,保障业务连续性。 易运维:提供备份恢复、自动升级、监控告警、故障切换等丰富的运维功能,大幅降低运维成本。 产品主页:https://www.aliyun.com/product/gdb
相关文章
|
NoSQL Linux 程序员
Linux:gdb调试器的解析+使用(超详细版)
Linux:gdb调试器的解析+使用(超详细版)
626 1
|
传感器 自然语言处理 机器人
ROS2教程03 ROS2节点
本文是关于ROS2(机器人操作系统2)节点的教程,涵盖了节点的概念、特性、使用方法,以及如何编写、测试和使用ROS2节点相关的命令行工具。文章介绍了节点的独立性、任务执行、跨硬件分布和多语言编写能力。详细解释了如何启动节点、查看节点信息、编写节点代码(包括面向过程和面向对象的方法),以及如何为功能包添加依赖和入口点。此外,还探讨了重映射节点名称和使用节点命令行工具的方法,如 `ros2 node info` 和 `ros2 node list`。适合已安装ROS2 Humble和Ubuntu 22.04操作系统,并具有Shell基础知识的读者学习。
975 1
|
机器人 测试技术 Shell
机器人多设备局域网可通调试
本文提供了一个Bash脚本,用于在指定的局域网段内查找可Ping通的所有设备,如机器人臂或激光雷达等,以便于在多设备局域网环境中进行通信调试。
153 1
|
机器人 Python
ROS2教程 03 节点Node
本文是关于ROS2(机器人操作系统2)的教程,介绍了ROS2的节点概念、与ROS1的区别、节点的编写和基本流程、ros2的node相关命令,以及如何对节点名进行重映射,旨在帮助读者理解ROS2中节点的创建和操作。
520 0
ROS2教程 03 节点Node
|
机器人 Shell 开发者
`roslibpy`是一个Python库,它允许非ROS(Robot Operating System)环境(如Web浏览器、移动应用等)与ROS环境进行交互。通过使用`roslibpy`,开发者可以编写Python代码来远程控制ROS节点,发布和订阅话题,以及调用服务。
`roslibpy`是一个Python库,它允许非ROS(Robot Operating System)环境(如Web浏览器、移动应用等)与ROS环境进行交互。通过使用`roslibpy`,开发者可以编写Python代码来远程控制ROS节点,发布和订阅话题,以及调用服务。
|
NoSQL Java Unix
Linux:调试器 - gdb
Linux:调试器 - gdb
219 1
|
NoSQL Linux C语言
GDB:强大的GNU调试器
GDB:强大的GNU调试器
349 0
|
NoSQL 编译器 Linux
【Linux】--- Linux编译器-gcc/g++、调试器-gdb、项目自动化构建工具-make/Makefile 使用
【Linux】--- Linux编译器-gcc/g++、调试器-gdb、项目自动化构建工具-make/Makefile 使用
361 0
|
NoSQL Linux 编译器
【Linux】——调试器-gdb的使用
【Linux】——调试器-gdb的使用
160 1
|
NoSQL Linux 程序员
Linux调试器--gdb的介绍以及使用
Linux调试器--gdb的介绍以及使用

推荐镜像

更多
  • ros