大佬们平时都是怎样调试查看变量变化的? go 有哪些方便实时展示变量的库或工具?

2025 年 4 月 11 日
 raw0xff

大佬们平时都是怎样调试查看变量变化的?

调试时候总是 print 会被其他打印的信息埋没,请教大佬们 有没有可以实时输出到网页的库或者工具?最好是还能记录变量变化。expvar 有些简陋了。

2483 次点击
所在节点    Go 编程语言
13 条回复
hwdq0012
2025 年 4 月 11 日
打日志可以加点锚点,看日志时通过锚点过滤
如果有上 elk 之类的日志系统,本身就支持过滤
doraemonki
2025 年 4 月 11 日
之前搞过很多花里胡哨的,最后还是返璞归真,print 大法好
raw0xff
2025 年 4 月 11 日
@doraemonki print 太多找起来有点费劲,而且 print 不能是动态的
lscho
2025 年 4 月 11 日
原来搞花里胡哨的断点什么的,最后还是 print 大法好。

太多找起来费劲就封装个方法,搞个分组筛选就行了。类似 android 的 Logcat ,挺清晰的。
quqiu
2025 年 4 月 11 日
直接 panic
xuanbg
2025 年 4 月 12 日
根本不调试,直接看错误日志,一般直接就知道错误原因了。如果是空指针的话,再看看错误堆栈就差不多了。
xuanbg
2025 年 4 月 12 日
正确输出日志,是程序员的一项基础能力。从日志输出这个维度看,10 个程序员里至少有 8 个是不合格的。
ysicing
2025 年 4 月 12 日
通常用 davecgh/go-spew 一梭子解决😂
raw0xff
2025 年 4 月 12 日
没找到方便好用的库,还是老老实实 log fmt 吧
pike0002
2025 年 4 月 12 日
感觉现在用这种方式调试的不多了。推荐看看 https://blog.codingnow.com/2018/05/ineffective_debugger.html
neoblackcap
2025 年 4 月 12 日
为什么要用 print 啊?用 zerolog 等日志库啊,方便变更输出格式,输出的目标。还能根据日志等级进行筛选
qloog
2025 年 4 月 12 日
直接打日志,开发模式下会输出到 console 里,线上环境输出到日志文件里,还可以通过 配置文件来控制打印不同的日志级别

有时也会配合使用 fmt.Println 来 debug
kzzhr
2025 年 5 月 11 日

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1124838

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX