使用 Delve 进行调试:执行函数

Debugging with Delve: execute function

我使用 runtime.Breakpoint() 在我的 Go 代码中设置了一个断点,保存文件(我的编辑器,Atom 使用 go-plus installed,运行s go install . 保存)。然后我 运行 使用 dlv debug 深入终端,并在它启动后键入 continue

当断点启动时,我想测试一些东西(主要是打印 reader 的数据 via a bytes.Buffer)。但是,我收到以下错误

buf := new(bytes.Buffer): "1:5: expected 'EOF', found ':='"

并且通常只能打印值。

这种事真的不行吗?我习惯了 Python 的 pdb,其中设置变量或调用函数不是问题,我希望 Delve 也能做到这一点。

所以,我做错了什么?

还不可能。 现在(2018 年 11 月)在 Delve 上 in progress 工作,但未完成。

Go runtime was changed recently to allow this kind of call. Delve have a Github issue 跟踪此类功能的进度,但仍处于实验阶段且不完整。