GoLand 2026.3 Help

使用 Mozilla rr 调试

Mozilla rr 会记录程序执行过程,以便在调试器中重放,并多次调查同一事件序列。

要调试录制内容,请等待应用程序退出,或在 调试 工具窗口中点击 停止录制。 然后可以检查记录的执行过程,并在断点之间向前或向后移动。

使用 Mozilla rr 调试代码

  1. 安装 Mozilla rr。 有关安装说明,请参阅 Building And Installing。

  2. 在 GoLand 设置断点。 要设置断点,请点击目标代码行附近的空白处,代码执行将在此停止。 有关断点的更多信息,请参阅 调试 和 断点。

  3. 点击装订区域处的 运行 图标 (运行图标 ),然后选择 记录和调试<configuration_name>。 录制完成后,在 调试 工具窗口中检查变量和 goroutine。

通过录制的跟踪文件导航

  1. 请导航至 运行 | 调试已保存的追踪。

  2. 在 跟踪目录 字段中,指定跟踪目录的路径。

  3. 点击 确定。

  4. 在 调试 工具窗口中,点击 恢复程序 前进到下一个断点,或点击 回退 后退到上一个断点。

收集 Mozilla rr 追踪

  1. 在应用程序目录中,构建禁用了优化和内联的可执行文件:

    go build -gcflags="all=-N -l" -o myApp

    在可执行文件中保留调试信息。 请勿使用 -w 或 -s 等会移除调试器所需信息的链接器标志。

  2. 打开终端并运行以下 Mozilla rr 命令: rr record <path_to_the_application_executable>

    因此,Mozilla rr 跟踪文件将出现在以下文件夹中: ~/.local/share/rr/<executable_name>

使用 Mozilla rr 远程调试

  1. 在远程机器上, 收集 Mozilla rr trace。

  2. 在远程计算机上,使用环回监听器启动 Delve:

    dlv --headless --api-version=2 --listen=127.0.0.1:2345 replay /path/to/trace/dir

    将 /path/to/trace/dir 替换为记录的跟踪目录。

  3. 在本地计算机上,通过 SSH 转发调试器端口:

    ssh -N -L 2345:127.0.0.1:2345 user@remote-host

    将 用户 和 remote-host 替换为 SSH 用户名和远程计算机的地址。 调试期间保持连接打开。 Delve 连接未经身份验证;请勿公开调试器端口。

  4. 在本地机器上创建 远程编程 运行/调试配置。 将 主机 设置为 127.0.0.1 ,并将 端口 设置为 2345。 有关创建运行/调试配置的更多信息,请参阅 创建运行/调试配置。

  5. 在本地机器上,请确保从配置列表中选择了 远程编程 运行/调试配置。

  6. 在本地计算机上,点击 运行 | 调试 <remote_configuration_name>。 或者按 Shift+F9。

2026年 11月 9日