WARNING: undefined behavior - version of Delve is too old for Go version

在更新了 go 版本后,使用 goland 进行调试会报错

go 复制代码
WARNING: undefined behavior - version of Delve is too old for Go version 1.20.5 (maximum supported version 1.19)

这是因为 go 的版本升级后,相对 dlv 的版本就低了。

所以解决办法就是升级对应的 dlv 版本

  1. 进入到 GOPATH 中

    如果忘记了 GOPATH 是什么,输入 go env GOPATH 即可。

  2. 在 GOPATH 对应目录下安装最新版的 dlv
    go install github.com/go-delve/delve/cmd/dlv@latest

  3. 安装完毕后,其被安装在 GOPATH/bin 目录下,即 GOPATH/bin/dlv

  4. 打开 Goland 菜单栏 Help 下的 Edit Custom Properties,会自动打开一个文件 idea.properties,添加如下内容到 idea.properites地址替换成你自己的

dlv.path=C:\Users\George\go\bin\dlv.exe

  1. 打开 Goland 菜单栏 Help 下的 Edit Custom VM Options,会自动打开一个文件 goland.vmoptions地址替换成你自己的

-Ddlv.path=C:\Users\George\go\bin\dlv.exe

  1. 重启Goland即可
相关推荐
毕设源码-邱学长2 小时前
【开题答辩全过程】以 基于Java的学校住宿管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
rookieﻬ°3 小时前
PHP框架漏洞
开发语言·php
炸膛坦客4 小时前
单片机/C/C++八股:(二十)指针常量和常量指针
c语言·开发语言·c++
兑生4 小时前
【灵神题单·贪心】1481. 不同整数的最少数目 | 频率排序贪心 | Java
java·开发语言
颜酱4 小时前
DFS 岛屿系列题全解析
javascript·后端·算法
炸膛坦客5 小时前
单片机/C/C++八股:(十九)栈和堆的区别?
c语言·开发语言·c++
零雲5 小时前
java面试:了解抽象类与接口么?讲一讲它们的区别
java·开发语言·面试
小码哥_常5 小时前
Java后端定时任务抉择:@Scheduled、Quartz、XXL - Job终极对决
后端
uzong5 小时前
Skill 被广泛应用,到底什么是 Skill,今天详细介绍一下
人工智能·后端·面试
Jay_Franklin5 小时前
Quarto与Python集成使用
开发语言·python·markdown