首页 > 技术文章 > Windows下LiteIDE因为Dlv版本太低导致无法调试的解决方法

tianlang358 2022-05-28 19:46 原文

       最近更新了go SDK,然后发现在LiteIDE中使用dlv进行调试时,提示“delve版本太低”(Version of Delve is too old for this version of Go),既然说版本太低那就升级呗。亲测以下两种方法可行:

方法一:命令行直接更新dlv

执行命令:go install github.com/go-delve/delve/cmd/dlv@latest

(或者到https://github.com/go-delve/delve/tree/master/Documentation/installation查看)

如果安装失败并显示如下内容:

Get "https://proxy.golang.org/github.com/go-delve/delve/cmd/dlv/@v/list": dial tcp 142.251.42.241:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, …

说明proxy.golang.org网址被防火墙屏蔽了(ping proxy.golang.org会显示超时),可以将该网址替换成goproxy.cn,即执行如下命令:

go env –w GOPROXY=goproxy.cn

然后再次执行上述”go install …”命令,如果没有异常输出,说明安装成功。可以使用:

dlv.exe version

命令检查当前dlv.exe版本。

       小case嘛,轻松搞定!LiteIDE中F5走一个…哎哎,怎么回事,问题依然存在?不要着急,这是因为刚刚的安装只更新了GOPATH路径下的dlv.exe,我们还需要将LiteIDE目录里的dlv.exe也一并更新(把GOPATH下的dlv.exe拷贝到LiteIDE的执行目录下即可),至此才算完成。

 方法二:下载dlv源码,编译生成dlv.exe

首先执行如下命令,导出dlv源码:

Git clone –b 分支名 https://github.com/derekparker/delve.git

(通过参数”-b 分支名”指定要导出的分支)

下载完成后,在源码的/cmd/dlv目录进行命令行操作,执行go build命令,完成编译后,将生成的dlv.exe分别拷贝到以下目录即可:

目录1:GOPATH下的bin下;

目录2:LiteIDE的执行目录。

推荐阅读