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个参数配置,之后再启动调试模式,就不会报错了

相关推荐
MediaTea15 小时前
Python:词频统计流程及综合示例
开发语言·python
wregjru15 小时前
【读书笔记】Effective C++ 条款5~6:若不想使用编译器自动生成的函数,就该明确拒绝
java·开发语言
语戚15 小时前
从 JVM 底层拆解:i++、++i、i+=1、i=i+1 的实现逻辑与坑点
java·开发语言·jvm·面试·自增·指令·虚拟机
喜欢喝果茶.15 小时前
Qt MQTT部署
开发语言·qt
StackNoOverflow15 小时前
Spring核心知识精讲:IoC容器、Bean作用域生命周期与AOP(第二部分)
java·后端·spring
wefg115 小时前
【Linux】线程同步与互斥 - 2(线程同步/条件变量/基于阻塞/环形队列的cp模型/线程池/线程安全/读写锁)
linux·开发语言
甲鱼92916 小时前
FreeSWITCH 对接 SIP 中继踩坑记录
后端·程序员
雨落在了我的手上16 小时前
C语言之数据结构初见篇(2):顺序表之通讯录的实现(续)
c语言·开发语言·数据结构
你这个代码我看不懂16 小时前
JVM栈、方法区和堆内存
java·开发语言·jvm
GIS阵地16 小时前
一场由Qt5 painter的drawRect引起的血雨腥风
开发语言·qt·gis·qgis