Go语言升级1.22.0版本VSCode启动调试报 Version of Go is too old for this version of Delve

因为项目中调用了其它同事的服务,该服务同事的Go环境是1.22.0,我本地go环境是Go1.20.6,不得已也升级了go的版本到1.22.0,其实升级很简单,只需要去go官网下载windows环境的zip包,把原来配置的环境变量GOROOT对应目录下的文件删除,解压新版本的文件到该目录,再起一个cmd窗口 执行 go env,验证版本就会发现已经升级好了,如下

当然了,这次我们主要问题是版本问题,当你升级好go的版本后,你使用VSCode调试原来的项目,发现报错了

这时候有2种方法解决

1、去升级dlv,这里不推荐,需要去github下载dlv代码编译后,替换gopath bin目录下的 dlv.exe

2、改launch.json,这个最简单,只需要在这个配置文件里增加2行配置即可,下面给出json文件

javascript 复制代码
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch Package",
            "type": "go",
            "request": "launch",
            "mode": "auto",
            "program": "${workspaceFolder}/main.go",
            "args": ["--profile"],
            "debugAdapter": "dlv",
            "dlvFlags": ["--check-go-version=false"] 
        }
    ]
}

上面的配置,在最下面增加了 debugAdapterdlvFlags 2个参数配置,之后再启动调试模式,就不会报错了

相关推荐
唐青枫几秒前
别再把 build.zig 当配置文件:Zig 构建系统从零到实战
后端
Naylor2 分钟前
只借不占:Rust 的引用与借用
后端·rust
「QT(C++)开发工程师」4 分钟前
C++11 std::unique_ptr — 独占所有权的智能指针
c语言·开发语言·c++·qt
大勇前进11 分钟前
Python装饰器、生成器、上下文管理器:3个必会的"魔法"机制
后端
Go_error18 分钟前
Fyne:让 Go 开发者也能玩转 GUI
后端·go
用户07956750431421 分钟前
Python + OpenCV 识别 GIF 中旋转最快的图形:基于时间周期的动态识别
后端
长大198824 分钟前
Python+Flask 1小时搭建个人博客:比WordPress轻量10倍
后端
不正经学生24 分钟前
C语言动态内存管理(上):堆上的自由与责任
c语言·开发语言·c++·算法·面试
闪学it31 分钟前
Python测试开发进阶线上班28期
后端
Go_error31 分钟前
Badu/bus:Go 轻量级泛型发布/订阅事件总线
后端·go