首页 > 解决方案 > 如何在 golang dlv 中重新加载源文件

问题描述

我正在使用 dlv 来调试 golang 源代码。有没有修改源代码后重新加载程序的命令?我在网上搜索了 dlv 文档,但没有找到任何关于如何做到这一点的信息。

任何帮助将不胜感激。

环境:centos

标签: go

解决方案


Delve 目前无法重新加载您正在运行的编译代码,同时保留断点和跟踪等状态。可能你能做的最好的事情就是在 Delve 中使用“source”命令。例如,如果您将一个名为的文件debug.txt放在本地目录中,您可以添加:

break foo.go:171
on 1 print myVar

..然后回到dlv debug

$ dlv debug
Type 'help' for list of commands.
(dlv) source debug.txt
Breakpoint 1 set at 0x1b0f5e5 for /path/to/foo.MyFunction() ./foo.go:171
(dlv)

您配置的断点已加载。

这不是一个完美的解决方案,我错过了 gdb 行为,所以我创建了一个 GitHub 问题来开始讨论:https ://github.com/go-delve/delve/issues/1551


推荐阅读