Go 正在解码偏移量0x0处的矮段信息:太短

Go 正在解码偏移量0x0处的矮段信息:太短,go,jetbrains-ide,goland,Go,Jetbrains Ide,Goland,我正在使用JetBrains GoLand,并且我正在尝试调试我的go文件,我收到以下错误: 正在解码偏移量0x0处的矮段信息:太短 我试图在StackOverflow找到答案,但不幸的是,我没有得到任何解决方案。GoLand附带了捆绑版的Delve。更新至2018.2.2,应能正常工作。如果需要进行远程调试,那么还需要更新目标机器上/的Delve安装(确保使用Go 1.11编译) 编辑: 还有两种可能出现此问题的情况: 编译应用程序时关闭了所有调试标志,并删除了其他调试信息 该应用程序使用标

我正在使用JetBrains GoLand,并且我正在尝试调试我的go文件,我收到以下错误:

正在解码偏移量0x0处的矮段信息:太短


我试图在StackOverflow找到答案,但不幸的是,我没有得到任何解决方案。

GoLand附带了捆绑版的Delve。更新至2018.2.2,应能正常工作。如果需要进行远程调试,那么还需要更新目标机器上/的Delve安装(确保使用Go 1.11编译)

编辑: 还有两种可能出现此问题的情况:

  • 编译应用程序时关闭了所有调试标志,并删除了其他调试信息
  • 该应用程序使用标准库“plugin”包,已知该包会导致Go编译器出现问题。这将在Go 1.12中修复

我也想在这里分享我的经验,因为它可能对社区有所帮助,我通过以下方式使其发挥作用:

  • 将Goland更新至
    18.3
  • 另外,如果您有Mac,您应该运行
    xcode选择--install
  • 如果您已经在
    GOPATH/bin
    中安装了
    delv
    ,请按照说明将其删除并重新安装

    • 经过数小时的努力,我终于找到了问题所在。这是由于Golang插件已被弃用,与IntelliJ IDEA 2018.2.2(终极版)不兼容

      我卸载了插件并重新安装了IntelliJ。
      希望这也有助于解决上述问题。

      对于我的Mac,问题与Golang plugin安装的dlv软件包有关

      • 安装和
      • 检查IntelliJ(在控制台中)执行的dlv路径
      转到这个目录

      ($HOME//Library/Application Support/IntelliJIdea2017.3/intellij-go/lib/dlv/mac) 
      
      • 并将dlv重命名为任何其他名称。通过使用获取正确的dlv可执行文件

        which dlv (/usr/local/Cellar/go/1.11.1/libexec/bin/dlv for my computer) 
        
      • 并添加一个符号链接

        (ln -s /usr/local/Cellar/go/1.11.1/libexec/bin/dlv dlv).
        

      您正在使用Go 1.11吗?如果是这样,也许可以尝试更新Goland或Delve?Go 1.11对侏儒的信息做了一些修改。谢谢@MartinTournoij,我更新了Goland和delve,效果很好!更新Go后我也遇到了同样的问题。Delve更新帮助:
      go get-u github.com/go Delve/Delve/cmd/dlv
      GoLand自带Delve副本,因此更新外部版本不会改变任何东西。是的,我知道go自带Delve副本,但最重要的是,我在升级go之后就遇到了这个问题。只有在
      go-get-u github.com/go-delve/delve/cmd/dlv
      之后,一切才重新开始工作。对我来说,它位于
      $GOPATH/bin
      中。你应该升级IDE,这样就可以了。据我记忆所及,添加符号链接将破坏更新程序的功能。