在 delve 调试器中打印所有局部变量

Print all local variables in delve debugger

如果我的 dlv 调试会话在一个函数中并且我想列出该函数的所有局部变量,我该怎么做?

为此有 argslocals 命令。

例如对于这个(废话)示例代码:

package main

import "fmt"

func example(a, b int) (c int) {
  d := a + b
  if true {
    e := d + 123
    c = e + 1
    fmt.Println("time for a breakpoint")
  }
  return c
}

func main() {
  example(2, 3)
}

在打印语句处停止时的输出如下:

(dlv) args
a = 2
b = 3
c = 129
(dlv) locals
d = 5
e = 128

有关可用命令的更多详细信息,请参阅 Delve 的 cli/README.md