问题
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.
回答1:
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.
回答2:
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 insideGOPATH/bin
, remove it and re-install it again by following instructions here
回答3:
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.
回答4:
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).
来源:https://stackoverflow.com/questions/52230503/decoding-dwarf-section-info-at-offset-0x0-too-short