解码偏移量为0x0的矮节信息:太短

I am using JetBrains GoLand and I am trying to debug my go file and I am getting the following error:

decoding dwarf section info at offset 0x0: too short

I tried to find an answer here at StackOverflow but unfortunately, I didn't get any solution.

GoLand ships with a bundled version of Delve. Update to 2018.2.2 and it should work. If you need to do remote debugging, then you need to update your Delve installation on/for the target machine as well (make sure you compile it with Go 1.11).

Edit: There are two more possible cases where this issue can appear:

  • the application was compiled with all the debugging flags turned off and the additional debugging information stripped
  • the application uses the standard library "plugin" package, which is known to cause an issue in the Go compiler. This will be fixed in Go 1.12.

I would like to share my experience here too as it may be helpful for community, I made it works by doing the following:

  • Update Goland to 18.3
  • Also, in case if you have Mac, you should run xcode-select --install
  • In case if you had delv already installed inside GOPATH/bin, remove it and re-install it again by following instructions here

After hours of effort, I was able to find the issue. It was due to Golang Plugin which is deprecated and was not compatible with IntelliJ IDEA 2018.2.2 (Ultimate Edition).

I uninstalled the plugin and reinstall the IntelliJ. Hope this also helps to above solutions.

For my Mac the problem is related to the dlv package as installed by Golang plugin.

  • Install delv and,
  • check the path of dlv as executed by IntelliJ (in the console).

Go to this directory

($HOME//Library/Application Support/IntelliJIdea2017.3/intellij-go/lib/dlv/mac) 
  • and rename dlv to any other name. Get the right dlv executable by using

    which dlv (/usr/local/Cellar/go/1.11.1/libexec/bin/dlv for my computer) 
    
  • and add a symbolic link

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