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