V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
WilliamColton
V2EX  ›  问与答

怎么让 Go 语言竞态检测提前输出结果?

  •  
  •   WilliamColton · 26 天前 via Android · 895 次点击
    在用 go run -race 对一个长时间运行的应用进行竞态检测时,怎么让它在遇到第一个竞态条件时就输出结果呢?

    在官方文档里面看见可以改变环境变量 GORACE 的 halt_on_error 值来设置成遇到第一个问题就输出结果

    但是 Windows11 上在系统变量里面设置 GORACE 变量好像不起作用(ಥ_ಥ)
    第 1 条附言  ·  26 天前
    IDE 是 Goland,Go 版本是 1.22
    7 条回复    2024-08-28 00:32:32 +08:00
    MidGap
        1
    MidGap  
       26 天前
    提供一个思路,Windows11 上在系统变量里面设置 GORACE 变量是否被 go 读取到了? go run 命令应该也能加参数 不依赖变量试试?
    WilliamColton
        2
    WilliamColton  
    OP
       26 天前 via Android
    @MidGap 可以给一个 go run -race 加参数的示例嘛 我试了几种好像没啥用
    WilliamColton
        3
    WilliamColton  
    OP
       26 天前 via Android
    @MidGap 补充一下用的 IDE 是 golang
    WilliamColton
        4
    WilliamColton  
    OP
       26 天前 via Android
    @MidGap Goland ,打错了抱歉
    MidGap
        5
    MidGap  
       26 天前
    @WilliamColton GORACE="halt_on_error=1" go run -race ./demo.go
    应该可以
    MidGap
        6
    MidGap  
       26 天前
    goland 直接点 run 的话,猜测可能获取不到环境变量,可以在 configuration 里加参数
    WilliamColton
        7
    WilliamColton  
    OP
       25 天前
    @MidGap #6
    然后直接运行应该就可以了吧?😭
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2344 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 15:27 · PVG 23:27 · LAX 08:27 · JFK 11:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.