我想知道如何枚举golang中所有局部变量的名称和值。 这样做是为了有效调试go代码。

是的,我很清楚golang目前对gdb的支持有限。

这个在stackoverflow上常用的线程没有提到golang。

我确实在寻找解决方案(我认为其他人也很好奇)。

非常感谢。


没有简单的解决方案:

  • gotype可以对代码进行静态分析并打印所有变量(但不打印其值)
  • go-spew可以打印一个变量值(用于Go数据结构的深层打印机,以帮助调试),但这就像增强的printf一样,而不是调试会话之类的'gdb'。

有dlv,您可以尝试使用print命令,这是可以获取atm的最接近实时调试器的工具。

否则,像@VonC这样的gotype / go-spew就是要走的路。