【问题标题】:Debugging with Delve: execute function使用 Delve 调试:执行函数
【发布时间】: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 不是完全编译的语言

标签: debugging go delve


【解决方案1】:

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

最近转到运行时was changed 以允许这种调用。 Delve 有一个 Github issue 跟踪此类功能的进度,但仍处于试验阶段且不完整。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-08
    • 2018-09-30
    • 2016-08-18
    • 2018-09-13
    • 2018-12-02
    • 2019-03-09
    • 1970-01-01
    • 2017-09-20
    相关资源
    最近更新 更多