executable doesn't containt debug information

Greetings

I'm doing my first steps in Go. Yesterday when I left my IDE I was able to set breakpoints and debug. This morning, the red dots are replaced with crossed circles and I see this weird message:

executable doesn't containt debug information

What can I do to be able to debug again?

TIA

 
1
14 comments

Hi Greg,

 

Can you please provide steps on how to reproduce the issue? Also, a screenshot of the run configuration would help.

Finally, in the Debug Tool Window, you'll see a Console tab. Please expand the first four lines at the very top of the output and paste them here as well.

 

Thank you.

0

Thanks for your answer.

I have no idea on which steps could reproduce it (sorry I know it's not helping). At some point, debugging was available again, without any change to the run configuration... I have been suspecting maybe indexing could disable debugging? but this is a first little project with very little code, so even indexing should be take hours...

 
0

Hi,

I have the same problem, debugging from intellij + GO addon. It seems to happen within project dependencies (not in the project code). I try to set a breakpoint in a random line within the source code of the dependencies, but it is permanently disabled.

Roberto

0

Hello Roberto,

First of all, make sure that the IDE project root is corresponds to the compilation root.

Ideally, the project root directory in the IDE and in the compilation should contain the same structure when running the ls -alh (dir . on Windows) command. If it does, then automatic mapping shouldn't have any issues.

Additional logging can also help us, take the following steps:

  • add #com.goide.dlv.DlvVm in Help | Debug Log Settings...
  • restart the IDE
  • reproduce the problem
  • provide IDE logs via the Help | Collect Logs and Diagnostic Data and upload it here. In response, please, send the name of the uploaded file.
0

I had the same problem.
And just like Roberto I have tried to debug one of the project dependencies (debug an external package to this project that is inside vendor package).
For each breakpoint in this dependency package I got: "executable doesn't contain debug information".
I was working with Go 1.15.2 and go modules.

For me the solution was
1. switching back to Go 1.12.7:
(preferences -> GOROOT -> Go 1.12.7)

2. Checking the "Enable vendoring support automatically" checkbox
(preferences -> Go Modules -> Enable vendoring support automatically, which is ignored since Go 1.14)

After that debugging breakpoints inside the dependency package started to work again! :)

Because I wanted to debug a dependency and I use go mod I also had to run all these commands as well:
$ export GO111MODULE=on
$ go mod vendor
$ go build -mod=vendor


2

Hi,

Thanks for your suggestions Daniil. When I got back to this issue after a while, it started working how it should. So probably the IDE restart did the trick.

Roberto

1

Same problem here, but in my case the code is NOT in a vendor or dependencies package. It is in project's own code dir (called internal). I can reach the code if start debugging in some files earlier but cant start right it this file. The control flow to desired function for breakpoint comes through pkg/ dependency files, but still I dont understand what the heck is going on. Pretty wierd and annoying.

0

Hello Argon, please pay attention that Go handles the internal packages in a specific way.

Could you please provide a structure (tree) of your project and steps to reproduce via Help | Contact Support menu?

0

I have nearly same problem too. In my case, not all vendored library can't be breakpoined.

Each file is in different vendored library. One is interruped, but another is not. My guess is that libraries called directly from project code are interrupted, but those called from vendored library are not.

How to reproduce.

1. clone  https://github.com/solarwinds/rkubelog.git

2. set breakpoint line 129 of vendor/github.com/boz/kail/ds_builder.go

3. set breakpoint line 61 of vendor/github.com/boz/kcache/client/client.go

4. do debug

The idea.log is below. It complaint that could not find file, but that file actually exists.

2021-01-19 10:04:18,181 [ 649139]   INFO - ta.index.VcsLogPersistentIndex - Indexing full repository in rkubetest 
2021-01-19 10:04:18,440 [ 649398] INFO - ta.index.VcsLogPersistentIndex - 255ms for indexing 67 commits in rkubetest
2021-01-19 10:04:19,142 [ 650100] INFO - pl.ProjectRootManagerComponent - project roots have changed (trace_hash = 177898634)
java.lang.Throwable
at com.intellij.openapi.roots.impl.ProjectRootManagerComponent.synchronizeRoots(ProjectRootManagerComponent.java:305)
at com.intellij.openapi.roots.impl.ProjectRootManagerComponent.fireRootsChangedEvent(ProjectRootManagerComponent.java:205)
at com.intellij.openapi.roots.impl.ProjectRootManagerImpl.fireRootsChanged(ProjectRootManagerImpl.java:459)
at com.intellij.openapi.roots.impl.ProjectRootManagerImpl$1.fireRootsChanged(ProjectRootManagerImpl.java:146)
at com.intellij.openapi.roots.impl.ProjectRootManagerImpl$1.fireRootsChanged(ProjectRootManagerImpl.java:143)
at com.intellij.openapi.roots.impl.ProjectRootManagerImpl$BatchSession.lambda$levelDown$0(ProjectRootManagerImpl.java:89)
at com.intellij.openapi.application.WriteAction.run(WriteAction.java:102)
at com.intellij.openapi.roots.impl.ProjectRootManagerImpl$BatchSession.levelDown(ProjectRootManagerImpl.java:89)
at com.intellij.openapi.roots.impl.ProjectRootManagerComponent$AppListener.writeActionFinished(ProjectRootManagerComponent.java:363)
at jdk.internal.reflect.GeneratedMethodAccessor82.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at com.intellij.util.EventDispatcher.dispatchVoidMethod(EventDispatcher.java:123)
at com.intellij.util.EventDispatcher.lambda$createMulticaster$1(EventDispatcher.java:86)
at com.sun.proxy.$Proxy75.writeActionFinished(Unknown Source)
at com.intellij.openapi.application.impl.ApplicationImpl.fireWriteActionFinished(ApplicationImpl.java:1381)
at com.intellij.openapi.application.impl.ApplicationImpl.endWrite(ApplicationImpl.java:1224)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteActionWithClass(ApplicationImpl.java:991)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:1009)
at com.intellij.configurationStore.ProjectSaveSessionProducerManager$saveWithAdditionalSaveSessions$$inlined$withEdtContext$1.invokeSuspend(ComponentStoreImpl.kt:709)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:56)
at com.intellij.openapi.application.constraints.BaseConstrainedExecution$Companion$scheduleWithinConstraints$1.invoke(BaseConstrainedExecution.kt:68)
at com.intellij.openapi.application.constraints.BaseConstrainedExecution$Companion.scheduleWithinConstraints(BaseConstrainedExecution.kt:71)
at com.intellij.openapi.application.constraints.BaseConstrainedExecution.scheduleWithinConstraints(BaseConstrainedExecution.kt:38)
at com.intellij.openapi.application.impl.BaseExpirableExecutorMixinImpl.access$scheduleWithinConstraints$s1153900543(BaseExpirableExecutorMixinImpl.kt:12)
at com.intellij.openapi.application.impl.BaseExpirableExecutorMixinImpl$scheduleWithinConstraints$$inlined$Runnable$1.run(Runnable.kt:19)
at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:216)
at com.intellij.openapi.application.TransactionGuardImpl.access$200(TransactionGuardImpl.java:24)
at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:199)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:822)
at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeLater$4(ApplicationImpl.java:324)
at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:85)
at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:134)
at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:47)
at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:190)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:976)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:843)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:454)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:773)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:453)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:822)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:501)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
2021-01-19 10:04:19,298 [ 650256] INFO - .diagnostic.PerformanceWatcher - Pushing Go no limit property to 88 roots took 132ms; general responsiveness: ok; EDT responsiveness: ok
2021-01-19 10:04:19,303 [ 650261] INFO - .diagnostic.PerformanceWatcher - Pushing properties took 3ms; general responsiveness: ok; EDT responsiveness: ok
2021-01-19 10:04:20,238 [ 651196] INFO - .diagnostic.PerformanceWatcher - Indexable file iteration took 935ms; general responsiveness: ok; EDT responsiveness: 1/2 sluggish
2021-01-19 10:04:20,239 [ 651197] INFO - indexing.UnindexedFilesUpdater - Unindexed files update started: 0 files to index
2021-01-19 10:07:27,025 [ 837983] INFO - goide.execution.GoRunningState - Start Delve debug process
2021-01-19 10:07:28,772 [ 839730] INFO - #com.goide.dlv.DlvVm - could not find file /Users/sg31park/Developer/go/pkg/mod/github.com/boz/kcache@v0.4.0/client/client.go
org.jetbrains.concurrency.MessageError: could not find file /Users/sg31park/Developer/go/pkg/mod/github.com/boz/kcache@v0.4.0/client/client.go
2021-01-19 10:07:28,773 [ 839731] INFO - #com.goide.dlv.DlvVm - could not find file /Users/sg31park/Developer/go/pkg/mod/github.com/boz/kcache@v0.4.0/client/client.go
org.jetbrains.concurrency.MessageError: could not find file /Users/sg31park/Developer/go/pkg/mod/github.com/boz/kcache@v0.4.0/client/client.go
2021-01-19 10:08:45,708 [ 916666] INFO - goide.execution.GoRunningState - Start Delve debug process
2021-01-19 10:08:47,325 [ 918283] INFO - #com.goide.dlv.DlvVm - could not find file /Users/sg31park/Developer/go/pkg/mod/github.com/boz/kcache@v0.4.0/client/client.go
org.jetbrains.concurrency.MessageError: could not find file /Users/sg31park/Developer/go/pkg/mod/github.com/boz/kcache@v0.4.0/client/client.go
2021-01-19 10:08:47,326 [ 918284] INFO - #com.goide.dlv.DlvVm - could not find file /Users/sg31park/Developer/go/pkg/mod/github.com/boz/kcache@v0.4.0/client/client.go
org.jetbrains.concurrency.MessageError: could not find file /Users/sg31park/Developer/go/pkg/mod/github.com/boz/kcache@v0.4.0/client/client.go
2021-01-19 10:09:02,410 [ 933368] INFO - rationStore.ComponentStoreImpl - Saving Project(name=rkubetest, containerState=COMPONENT_CREATED, componentStore=/Users/sg31park/Developer/go/workspace/rkubetest)RunManager took 17 ms
2021-01-19 10:16:04,229 [1355187] INFO - rationStore.ComponentStoreImpl - Saving appLineMarkerSettings took 18 ms
0

Thanks for your steps to reproduce, but I can't do the same so far on the 2020.3.1 version.

What GoLand version are you using? Could you please send a screenshot of your Run Configuration (Run | Edit Configurations...)  & Go Modules integration (Preferences | Go | Go Modules)?

0

Thank you Daniil Maslov , but my problem was gone, and I can't reproduce it either.

I tried something, such as, changing dependency to forked library (using replace keyword) and going back, manually building in terminal, or too tiny works to remember. As far as I remember, just changing the version of the library didn't help. 

My run configurations and mod integration seem not so different.

0

Thanks for your kind reply. Feel free to drop a comment if you encounter the issue again.

0

I meet the same problem during golang debuging by intellij(with golang plugin).

For me, it was caused by wrong dependency detection of IDE. The dependencies libraries was shown as version A, then I label break point at version A, but program compile and ran with version B.

Adding break point at upper level code and step into dependency code shall reveal the real version.

0

For me, it was caused by wrong dependency detection of IDE.

Could you please share a point where it was incorrect?

0

Please sign in to leave a comment.