GO RACE 测试在低版本GCC上报错误 exit status 0xc0000139

windows机器环境,go程序使用race定位时一运行就报错,写了个example如:

能看到加了race之后就不行了,

搜了一下,git上有个issue: runtime: Race detector causes exit status 0xc0000139 on Windows 11 with 1.21rc2 running gcc 9.2.0 · Issue #61058 · golang/go · GitHub

里面有个大哥说了一句:

复制代码
Given that the binary works with a newer GCC, this sounds like a GCC bug rather than a Go bug.

然后查了一下,当前的GCC版本是8,

更新了一下,然后就好用了:

这里需要注意的是GCC的更新,别用这个 MinGW Installation Manager 这个东西,这玩意最多只能更新到6.几的版本;

也别用 mingw-w64-install.exe,这个最多只能更新到8.1;

直接去git上 mingw-builds-binaries 下载安装包自己装: Releases · niXman/mingw-builds-binaries · GitHub

下载对应的版本解压之后改一下环境变量重启VSCODE就行了

相关推荐
小满zs2 小时前
Go语言第三章(五谷轮回)
后端·go
星栈独行6 小时前
翻完 Pi 源码:它和 Codex、Claude Code 有何不同
开发语言·javascript·人工智能·程序人生
qq_448011166 小时前
C语言中的变量和函数的定义与声明
android·c语言·开发语言
霸道流氓气质6 小时前
SpringBoot中通用工具类库(Utils)封装与使用实践
spring boot·后端·python
孫治AllenSun7 小时前
【DataX】生产环境搭建DataX集群案例
java·开发语言·jvm
c238568 小时前
把 C++ 内存分配拆透:new 与 malloc 的三层血缘
开发语言·c++·算法
moonsims9 小时前
星闪在跨域无人化系统作用
开发语言·php
MemoleCard10 小时前
深度解析Java当中的锁机制
后端
wear工程师10 小时前
ThreadLocal 在线程池里为什么会串数据:别只会答内存泄漏
java·后端