【GoLand教程】GoLand 如何使用 Mozilla rr 进行调试

Mozilla rr 是一个可用于记录、回放和调试应用程序的工具。Mozilla rr 的主要思想是帮助您捕获重要的错误。
Mozilla rr 记录整个程序的执行。这意味着您只能在程序结束执行时调试记录的跟踪。对于服务器和其他长时间运行的应用程序,您必须终止正在运行的应用程序(例如,通过从控制台发送 SIGTERM 信号)。录制完成后,您可以根据需要多次在调试器中重播执行。
使用 Mozilla rr 调试代码
- 安装 Mozilla rr。
- 在 GoLand 中,设置断点。要设置断点,请单击您希望调试器停止代码执行的代码行附近的间距。
- 单击装订线中的运行图标 ( ) 并选择Record and Debug <configuration_name>。在调试器工具窗口中,您可以看到变量、进程和线程在代码执行的不同阶段的状态。
浏览记录的轨迹
- 导航到运行 | 调试保存的跟踪。
- 在跟踪目录字段中,指定跟踪目录的路径。
- 单击确定。
- 在Debugger工具窗口中,单击Resume Program图标
继续程序执行,或单击下面的Rewind图标向后运行调试会话,直到上一个断点。
收集 Mozilla rr 跟踪
- 使用Go 构建运行/调试配置构建可执行文件。要轻松找到可执行文件,请在Go 构建配置的输出目录字段中指定当前项目目录。
- 打开终端并运行以下 Mozilla rr 命令:
rr record <path_to_the_application_executable>
因此,Mozilla rr 跟踪文件出现在以下文件夹中:~ /.local /share /rr /<executable_name>
使用 Mozilla rr 进行远程调试
- 在远程机器上,收集 Mozilla rr trace。
- 在远程机器上,通过打开终端并运行以下命令来启动调试器:
dlv --headless --api-version=2 -l localhost:2345 replay /path/to/trace/dir /path/to/binary
- 在本地机器上,创建Go Remote运行/调试配置。在Go Remote配置中,指定远程机器 IP 地址和端口。
- 在本地机器上,确保在配置列表中选择了Go Remote运行/调试配置。
- 在本地计算机上,单击运行 | 调试 <remote_configuration_name>。或者,按Shift+F9。