# 如何在调试器（如gdb）中运行ROS2节点

> 原文链接：https://robotics.hellobike.com/pitfalls/2026-07-16-robotics-se-81953
> 频道：pitfalls | 更新日期：2026-07-16 | 标签：auto, stackexchange, ros2
> 核心摘要：用户询问ROS2中是否有类似rosrun的--prefix参数用于调试节点，得到肯定答复并给出用法。

# 如何在调试器（如gdb）中运行ROS2节点

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[How can I run ROS2 nodes in a debugger (e.g. gdb)?](https://robotics.stackexchange.com/questions/81953/how-can-i-run-ros2-nodes-in-a-debugger-e-g-gdb)（Robotics Stack Exchange #81953）

**状态**：已解决

## 问题

用户需要在调试器（如gdb）中运行ROS2节点，询问是否存在类似rosrun的--prefix参数的功能。

## 环境

ROS 2

## 解决办法

1. 使用ros2 run的--prefix参数，用法与rosrun一致。
2. 示例命令为`ros2 run --prefix 'gdb -ex run --args' package_name executable_name`。
3. 该功能目前仅支持从开发源码（master分支）编译安装的ROS2版本。

原问题作者：Andre Volk；采纳答案作者：Andre Volk。原内容依 CC BY-SA 4.0 授权，本页摘要同样依 CC BY-SA 4.0 授权。
:::

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #81953：How can I run ROS2 nodes in a debugger (e.g. gdb)?](https://robotics.stackexchange.com/questions/81953/how-can-i-run-ros2-nodes-in-a-debugger-e-g-gdb)