问题背景说明
因依赖问题要求GO版本需要从1.18.x版本升级到1.23.x,升级后,Test 启动 debug时,发现打断点的红点一闪而过,出现一个失效的标志(一个灰色圆圈+斜杠),在经过百度大法后,原来高版本(1.20及以上版本)会出现debug断点无效的现象。
解决方案
经过资料查阅,发现是因为go高版本问题,导致dlv插件失效,github上提供了源代码,可以clone下来打包,并把dlv文件放到指定的目录。
第一步 拉取delve源代码
git clone https://github.com/go-delve/delve.git
第二步 编译并打包成dlv可执行文件
cd cmd/dlv
go build
执行完毕后,当前目录下多出一个dlv可执行文件
第三步 复制dlv文件到goland插件目录
mac电脑:
goland 新版本(大于等于23年版本)
cp dlv /Applications/GoLand.app/Contents/plugins/go-plugin/lib/dlv/mac
goland老版本(小于23年版本)
cp dlv /Applications/GoLand.app/Contents/plugins/go/lib/dlv/mac
windows电脑:
将打包的dlv.exe文件复制到goland安装目录下的
goland 新版本(大于等于23年版本)
plugins/go/go-plugin/lib/dlv/window
goland老版本(小于23年版本)
plugins/go/lib/dlv/window
最后一步 重启goland
此时再次启动debug断点已出现显眼的红勾,断点成功
感谢以下博主分享:
Goland无法进入调试断点修复! - KURO、Liang - 博客园
完整使用(包括远程debug)
go调试工具-delve-CSDN博客