解决老版本goland无法调试新版本go的问题

 更新时间:2023年11月13日 09:49:41   作者:‭‭‭‭‭‭‭‭‭huiwen  
这篇文章主要给大家介绍了如何解决老版本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无法调试新版本go的问题的文章就介绍到这了,更多相关老版本goland无法调试新版本go内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 深入浅出Golang中select的实现原理

    深入浅出Golang中select的实现原理

    在go语言中,select语句就是用来监听和channel有关的IO操作,当IO操作发生时,触发相应的case操作,有了select语句,可以实现main主线程与goroutine线程之间的互动。本文就来详细讲讲select的实现原理,需要的可以参考一下
    2022-08-08
  • go值赋值和引用赋值的使用

    go值赋值和引用赋值的使用

    本文将介绍Go语言中的值赋值和引用赋值,并比较它们之间的差异,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-10-10
  • Go语言常见错误之将接口定义在实现方

    Go语言常见错误之将接口定义在实现方

    在Go中,接口起到一个十分关键的角色,它们提供了一种方式来定义对象的行为,而不需要知道对象的具体实现,一个常见的错误是在实现方而不是使用方定义接口,本文将详细探讨为何这样做是一个错误,以及如何避免它
    2024-01-01
  • 详解Golang函数式选项(Functional Options)模式

    详解Golang函数式选项(Functional Options)模式

    什么是函数式选项模式,为什么要这么写,这个编程模式解决了什么问题呢?其实就是为了解决动态灵活的配置不同的参数的问题。下面通过本文给大家介绍Golang函数式选项(Functional Options)模式的问题,感兴趣的朋友一起看看吧
    2021-12-12
  • 使用Go初始化Struct的方法详解

    使用Go初始化Struct的方法详解

    面向对象编程语言最基础的概念就是类(class),不过Go语言并没有类的概念,所以使用Go语言开发时,我们一般会用struct(结构体)来模拟面向对象中的类,下面我们来介绍几种创建struct类型变量的方法,需要的朋友可以参考下
    2024-01-01
  • golang抓取网页并分析页面包含的链接方法

    golang抓取网页并分析页面包含的链接方法

    今天小编就为大家分享一篇golang抓取网页并分析页面包含的链接方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08
  • 基于go语言实现图片验证码的代码示例

    基于go语言实现图片验证码的代码示例

    这篇文章主要为大家详细介绍了基于go语言实现图片验证码的代码示例,文中的示例代码简洁易懂,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-10-10
  • Jaeger Client Go入门并实现链路追踪

    Jaeger Client Go入门并实现链路追踪

    这篇文章介绍了Jaeger Client Go入门并实现链路追踪的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • go mod详细使用教程

    go mod详细使用教程

    go mod是go的一个模块管理工具,用来代替传统的GOPATH方案,下面这篇文章主要给大家介绍了关于go mod详细使用的相关资料,文中通过图文以及实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • go 打包运行文件在windows,liunx运行

    go 打包运行文件在windows,liunx运行

    这篇文章主要介绍了go 打包运行文件在windows,liunx运行的相关资料,需要的朋友可以参考下
    2023-11-11

最新评论