The Go Programming Language
› http://golang.org/
› Go Playground
Go Projects
› Revel Web Framework
zhuchuanjun

大家 go 都是怎么调试, 每次修改都要在 goland 上, go debug main, 真麻烦

  •  
  •   zhuchuanjun · Feb 27, 2023 · 6224 views
    This topic created in 1344 days ago, the information mentioned may be changed or developed.
    1. 用 goland 上 debug 调试, 但是每次修改, 都要重新 debug
    2. 用 air 热加载, 但是不能 debug

    有没有啥两全其美的方法, 又能 debug, 又能热加载

    29 replies  •  2023-03-03 01:26:45 +08:00
    fiypig
    fiypig
    Feb 27, 2023
    1
    vscode 断点
    zhuchuanjun
    zhuchuanjun
    OP
    Feb 27, 2023
    2
    @fiypig #1 vscode 又能 debug, 又能热加载?
    chenguang0703
    chenguang0703
    Feb 27, 2023❤️3
    3
    写单元测试阶段性调试代码,这样即使不用热加载也非常快,单元测试基本通过后,再通过继承测试入口调试主流程逻辑。
    penzi
    penzi
    Feb 27, 2023
    4
    写的时候不要老是调试
    dx3759
    dx3759
    Feb 27, 2023
    5
    写单元测试方法,打断点,跑测试数据集
    feedcode
    feedcode
    Feb 27, 2023
    6
    可以试下 air + dlv, remote debugging

    # .air.toml
    ```
    [build]
    full_bin = "dlv exec --accept-multiclient --log --headless --continue --listen :2345 --api-version 2 the-progarm"

    ```
    quxuanxuan
    quxuanxuan
    Feb 27, 2023
    7
    log.Debugf("xxx")
    Hanggi
    Hanggi
    Feb 27, 2023
    8
    从来没用过 debug 功能。。。

    go 语言编译那么快,终端跑个单元测试不就好了吗?
    BeautifulSoap
    BeautifulSoap
    Feb 27, 2023
    9
    正经项目的话认真写单元测试,然后 goland 里面对单元测试的 case 进行 debug 呀
    xlongye
    xlongye
    Feb 27, 2023
    10
    vscode + air, 前端一般的调试
    snowlyg
    snowlyg
    Feb 27, 2023❤️1
    11
    基本不调试,go 难的问题是 并发中的问题 。普通问题单元测试就够了
    Adriel
    Adriel
    Feb 27, 2023
    12
    盲猜动态语言转过来的
    Goat121
    Goat121
    Feb 27, 2023❤️2
    13
    这... 我第一次见有人说 go 麻烦,不管用啥方法已经很快了呀
    build 一次半小时的 C++,和 10 分钟的 java 你见过没😂
    icy37785
    icy37785
    Feb 27, 2023 via iPhone
    14
    写好测试比 debug 实在多了
    loveeatdog123
    loveeatdog123
    Feb 27, 2023
    15
    把功能拆分得足够细,单元测试通过后 再结合在一起 就比较容易通过了。
    darksword21
    darksword21
    Feb 27, 2023
    16
    用 pwd ,pool man's debugger
    darksword21
    darksword21
    Feb 27, 2023
    17
    @darksword21 #15 poor
    Zchary
    Zchary
    Feb 27, 2023 via iPhone
    18
    单测 debug 呀😅
    yuancoder
    yuancoder
    Feb 27, 2023
    19
    单测
    HanMeiM
    HanMeiM
    Feb 27, 2023
    20
    这也麻烦?
    pursuer
    pursuer
    Feb 27, 2023
    21
    @Goat121 13# Java 的类是可以热替换的,不用重新 build ,之前碰到过感觉挺神奇的,只是不知道有没有坑。
    awalkingman
    awalkingman
    Feb 27, 2023 via Android
    22
    @airplayxcom 再猜一个 PHP 或者 js ,Python 不了解
    litguy
    litguy
    Feb 28, 2023
    23
    c++ 写代码,基本靠日志分析 bug 的路过
    偶尔用 gdb 看看堆栈
    没法设置断点之类的
    会导致分布式系统行为异常
    xsen
    xsen
    Feb 28, 2023
    24
    基本就是 单元测试 + 日志;当然这是从之前做 C/C++养成的习惯,gdb 用来调试崩溃问题还是非常方便的
    xiaocaiji111
    xiaocaiji111
    Feb 28, 2023
    25
    @Goat121 感觉在 idea 上和 goland 上启动 java 和 go 速度差不多。当然那种巨大的屎山 java 还是算了吧,半个小时都不一定能编译完。java 修改完不用重启的,可以 reload class ,坑在于极个别场景是失效的。
    vyseyao9
    vyseyao9
    Feb 28, 2023
    26
    dlv
    8520ccc
    8520ccc
    Feb 28, 2023
    27
    基本不调试 遇到 panic 看哪里 panic 去修复一下就是了

    。。。。。。。。。。。。。。。。。。。。。。。。。

    是不是有点不正常

    一般是跑起来了手动测试业务是否正常
    xiaocaiji111
    xiaocaiji111
    Mar 1, 2023
    28
    @8520ccc 因为大部分需要断点的时候,都是诡异的问题,正常问题都能看出来
    mauve
    mauve
    Mar 3, 2023
    29
    chatGPT 写单元测试,这种活就适合交给它
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4254 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 134ms · UTC 05:39 · PVG 13:39 · LAX 21:39 · JFK 00:39
    ♥ Do have faith in what you're doing.