在使用 GoLand 开发 Go 语言项目时,内置的调试器 dlv
(Delve)版本可能过高,导致无法与一些旧版本的 Go 项目兼容。这种情况下,很多开发者可能会转而通过查看控制台输出进行调试,但这种方式效率低下且容易出错。幸运的是,有一种简单的方法可以解决这个问题:自行编译并使用一个与项目兼容的旧版本 dlv
。以下是详细的操作步骤:
1. 确定版本需求
我的项目使用的 Go 版本是 go1.15.15
,这是一个较旧的版本。因此,我需要一个与之兼容的 Delve 版本,这里我们选择 1.4.0
。
2. 获取 Delve 旧版本代码
https://github.com/go-delve/delve/releases/tag/v1.4.0
访问 Delve 的官方 GitHub 仓库,找到与 1.4.0
版本对应的标签(tag),你可以选择下载该标签对应的 zip 文件,或者使用 git 命令 git checkout <tag号>
来切换到该版本的代码。
3. 编译 Delve
cd cmd/dlv/ #进入指定的相对路径
go build
打开命令行界面(建议使用 cmd),导航至下载的 Delve 代码的 \cmd\dlv
目录下。在该目录下执行 go build
命令,编译过程完成后,你将得到 dlv.exe
可执行文件。可以通过dlv version查看dlv版本:
4. 配置 GoLand
在 GoLand 中打开 Edit Custom Properties
对话框,添加以下配置行:
dlv.path=C://Users//chenj//Downloads//delve-1.4.0//delve-1.4.0//cmd//dlv//dlv.exe
请确保路径与你保存 dlv.exe
的实际位置相符。
5. 重启 GoLand
完成上述配置后,重启 GoLand,新的 Delve 调试器应该会被正确识别和使用。
如果go build失敗,建議查看一下 GO111MODULE是不是開啟狀態,不是的話執行這個命令:go env -w GO111MODULE= on