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