英文:
Print all local variables in Golang
问题
我想知道如何在golang中枚举所有局部变量的名称和值。这样做是为了有效地调试go代码。
是的,我很清楚golang目前的gdb支持有限。
这个在stackoverflow上常用的帖子中没有提到golang。
我真诚地寻找一个解决方案(我认为其他人也很好奇)。
非常感谢。
英文:
I wanted to know how one can enumerate the names and values of all local variables in golang. This is done with the purpose of effectively debugging go code.
Yes, I am well aware golang has limited gdb support right now.
This commonly used thread on stackoverflow has no mention of golang.
I am genuinely looking for a solution (I think others are curious as well).
Many thanks.
答案1
得分: 2
没有简单的解决方案:
-
gotype
可以对代码进行静态分析并打印所有变量(但不包括它们的值) -
go-spew
可以打印变量的值(用于深度美化打印Go数据结构以帮助调试),但这更像是增强版的printf
,而不是像gdb
那样的调试会话。
英文:
There is no easy solution:
答案2
得分: 2
有一个名为dlv的工具,你可以尝试使用print
命令,它是目前最接近实时调试器的工具。
另外,像@VonC提到的gotype/go-spew也是可行的方法。
英文:
There is dlv, you can experiment with the print
command, it's the closest thing to a live debugger you can get atm.
Otherwise gotype/go-spew like @VonC mentioned are the way to go.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论