Golang与VSCode导致蓝屏问题的解决方法

Golang与VSCode导致蓝屏问题的解决方法 事情是这样的,有点奇怪。我给自己配了一台新电脑,i9 13代处理器,大内存,高速M2硬盘…… 所有东西都从头开始重装。Windows 10,VS2022(我白天是C#开发者),还有VSCode(我晚上在搞一个Go项目……) 当我安装Go时,看起来一切正常。从go1.20.2.windows-amd64下载安装,都没问题。 但是当我在VSCode上安装Go插件时,它尝试安装delve时蓝屏了。 现在,每当我运行VSCode并尝试使用Go插件时,都会蓝屏。 我尝试手动安装delve,但遇到了错误,我已经向delve团队提交了问题。

无法安装 delve 1.20.1,“could not import internal/goarch (EOF)”

然后也向Go团队提交了问题。

无法安装 delve - could not import internal/goarch

两个工单都被关闭了。所以那边没有帮助。 除了“看起来像是Go的安装损坏了”。 但这是全新安装……我又重新下载了文件,重新安装,情况一样。 当我安装Go 1.18.5时,一切正常。只是它和VSCode配合得不好,因为VSCode想要最新版本……

有什么想法吗? 我现在只能在笔记本电脑上做Go编码,这很痛苦。


更多关于Golang与VSCode导致蓝屏问题的解决方法的实战教程也可以访问 https://www.itying.com/category-94-b0.html

3 回复

我给自己买了一台新电脑,i9 第13代处理器,大内存,快速的M2硬盘…… 从头开始重新安装了所有东西。Win10,VS2022(我白天是C#开发者)和VSCode(我晚上在做一个Go项目……)

你是我吗? 😄 我也有类似的配置,但我通常在笔记本电脑上用Go编程,有一阵子没在台式机上用VSCode和Go了。我想我那里装的还是1.18或1.19版本。等我今天晚些时候下班回家后,会试试1.20.2!

更多关于Golang与VSCode导致蓝屏问题的解决方法的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


好的。我手动安装了 Go v18.5.0,然后运行了最新版的 VSCode。没有蓝屏。接着手动安装了 pls v0.9.1。搞定!现在可以调试 Go 程序了。 如果其他人也遇到这个问题,只需手动安装一个旧版本。希望当 21 或 22 版本发布时,这个问题能自行修复… 😊 感谢 @skillian 激励我再次尝试。搞定!

这是一个典型的Go工具链与Windows内核调试组件冲突的问题。根据你的描述,这很可能与Windows上的反恶意软件扫描接口(AMSI)或内核调试器冲突有关。以下是具体的解决方案:

1. 禁用Windows Defender实时保护(临时方案)

# 以管理员身份运行PowerShell
Set-MpPreference -DisableRealtimeMonitoring $true

安装完成后可以重新启用:

Set-MpPreference -DisableRealtimeMonitoring $false

2. 为Go工具链添加Windows Defender排除项

# 添加Go安装目录到排除列表
Add-MpPreference -ExclusionPath "C:\Go"
Add-MpPreference -ExclusionPath "$env:GOPATH\bin"
Add-MpPreference -ExclusionPath "$env:USERPROFILE\go\bin"

# 添加VSCode相关目录
Add-MpPreference -ExclusionPath "$env:USERPROFILE\.vscode"
Add-MpPreference -ExclusionPath "$env:LOCALAPPDATA\Programs\Microsoft VS Code"

3. 清理并重新安装Go工具链

# 删除现有的Go安装
rmdir /s /q C:\Go

# 删除Go环境变量
# 在系统环境变量中删除GOROOT、GOPATH

# 重新安装Go 1.20.2
# 从官网下载并安装

4. 手动安装delve并禁用反病毒扫描

# 在安装前临时禁用Windows Defender
# 然后运行
go install github.com/go-delve/delve/cmd/dlv@latest

# 或者指定版本
go install github.com/go-delve/delve/cmd/dlv@v1.20.1

5. 配置VSCode使用手动安装的delve

在VSCode的settings.json中添加:

{
    "go.delveConfig": {
        "dlvPath": "${env:GOPATH}\\bin\\dlv.exe",
        "apiVersion": 2
    },
    "go.toolsManagement.autoUpdate": false
}

6. 如果问题仍然存在,尝试使用Go 1.19版本

# 下载并安装Go 1.19.8
# 然后设置GOROOT指向1.19.8

7. 检查系统驱动冲突

运行以下命令检查是否有冲突的驱动:

verifier /querysettings

如果发现有问题,可以重置驱动验证:

verifier /reset

8. 创建批处理文件用于安全启动VSCode

创建一个start_vscode_safe.bat文件:

@echo off
echo Stopping Windows Defender Service...
net stop WinDefend

echo Starting VSCode...
start "" "%LOCALAPPDATA%\Programs\Microsoft VS Code\Code.exe"

timeout /t 10
echo Restarting Windows Defender Service...
net start WinDefend

这个问题通常是由于Windows安全组件在扫描Go编译过程时触发了内核保护机制导致的。按照上述步骤操作应该能解决你的蓝屏问题。

回到顶部