V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
raw0xff
V2EX  ›  Go 编程语言

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

  •  
  •   raw0xff · 13 天前 · 1339 次点击

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

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

    12 条回复    2025-04-12 17:52:09 +08:00
    hwdq0012
        1
    hwdq0012  
       13 天前
    打日志可以加点锚点,看日志时通过锚点过滤
    如果有上 elk 之类的日志系统,本身就支持过滤
    doraemonki
        2
    doraemonki  
       13 天前 via Android
    之前搞过很多花里胡哨的,最后还是返璞归真,print 大法好
    raw0xff
        3
    raw0xff  
    OP
       13 天前
    @doraemonki print 太多找起来有点费劲,而且 print 不能是动态的
    lscho
        4
    lscho  
       13 天前
    原来搞花里胡哨的断点什么的,最后还是 print 大法好。

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

    有时也会配合使用 fmt.Println 来 debug
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5213 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 07:30 · PVG 15:30 · LAX 00:30 · JFK 03:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.