【发布时间】:2019-04-11 00:18:55
【问题描述】:
我用runtime.Breakpoint()在我的Go代码中设置了一个断点,保存文件(我的编辑器,用go-plus installed的Atom,在保存时运行go install .)。然后我用dlv debug在终端中运行Delve,启动后输入continue。
当断点开始时,我想测试几件事(基本上是打印读者的数据via a bytes.Buffer)。但是,我收到以下错误
buf := new(bytes.Buffer): "1:5: expected 'EOF', found ':='"
通常只能打印值。
这种事真的不能做吗?我已经习惯了 Python 的 pdb,其中设置变量或调用函数不是问题,我希望 Delve 也能做到这一点。
那么,我做错了什么?
【问题讨论】:
-
dlv 是调试器,而不是解释器。如果您的代码中有一个变量,其中包含数据。你可以输入
print(variableName),你会得到。 -
深入研究 go 1.11 支持功能作为实验性功能。 pdb 更容易实现,因为 python 不是完全编译的语言