老版本goland无法调试新版本go问题处理

背景

无法调试1.20版本b

报错如下:

No goroutine selected

懒人不想升级goland版本。

处理方法

1.安装最新的dlv工具

go install github.com/go-delve/delve/cmd/dlv@latest

2.找到刚刚安装的dlv工具,并复制

# 位于$GOPATH的bin目录下,如果不知道$GOPATH在哪里,可以执行go env查看
$GOPATH/bin/

3.找到goland的安装路径

# ls -ls xxxxx\JetBrains\GoLand 2022.3\plugins\go-plugin\lib\dlv
# total 0
# drwxr-xr-x 1 0 May 23 21:48 linux/
# drwxr-xr-x 1 0 May 23 21:48 linuxarm/
# drwxr-xr-x 1 0 May 23 21:48 mac/
# drwxr-xr-x 1 0 May 23 21:48 macarm/
# drwxr-xr-x 1 0 Nov 11 15:37 windows/
# drwxr-xr-x 1 0 May 23 21:48 windowsarm/

# 我的是win10系统,所以进入windows,根据不同系统进入不同路径
xxxxx\JetBrains\GoLand 2022.3\plugins\go-plugin\lib\dlv\windows

4.备份该路径下的dlv.exe文件

不同系统该路径下的dlv文件后缀不同,根据系统实际情况备份

# 备份dlv文件
"dlv.exe" -> "dlv-bak.exe"

备份好后,进行下一步操作

5.粘贴刚才的dlv文件到该目录下

6.重启goland

7.尝试debug

验证是否debug正确,如果正确则可以使用该dlv。

如果不正确,那就没办法只能升级goland版本了,把刚才新的dlv文件删除,最后再把备份的dlv,重命名回原名称。

参考:

GoLand - Delve 调试器版本升级 - 高小菜打怪路 (muwaii.com)

你可能感兴趣的:(Golang,go)