[记录]IDEA或者GoLand调试Go提示Delve is too old的解决方案
完整的报错信息大概是这样WARNING: undefined behavior - version of Delve is too old for Go version 1.21.9 (maximum supported version 1.18)
报错的原因是因为delve
版本低,不支持调试高版本的Go,也可以按照下面的方法来解决这个问题。
1. 确定dlv.exe路径
可以使用Everthing类的工具,但通常的路径是这样的,你可以尝试直接定位:
C:\Users\fengqi\AppData\Roaming\JetBrains\IntelliJIdea2021.3\plugins\go\lib\dlv\windows\
如果是MacOS,通常的路径是这样的:
/Users/fengqi/Library/Application Support/JetBrains/IntelliJIdea2021.3/plugins/go/lib/dlv
2. 安装最新版本的dlv.exe
可以参考文档 https://github.com/go-delve/delve/tree/master/Documentation/installation,或者直接下载源码编译,如果你和我一样使用go install
安装的,那么路径大概是在 C:\Users\fengqi\go\bin\dlv.exe
3. 备份并替换Jetbrains的dlv.exe
亲测可行。