Reputation: 131
I've recently done a fresh install of Ubuntu 11.10, installing the latest version of Eclipse CDT. I'm trying to debug an existing C++ project with makefiles and Eclipse project files generated by CMake. Upon attempting to debug (with all of the correct settings given in the Debug Configuration), the launch fails with error:
An internal error occurred during: "Launching mops-app".
java.lang.NullPointerException
This does not occur when trying to debug a minimal Hello World project. The project could be successfully debugged on Ubuntu 11.04 with the latest version of Eclipse CDT. The java version on my machine is:
java version "1.6.0_23"
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre10-0ubuntu5)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)
And the Eclipse output from trying to launch the debug configuration is:
!ENTRY org.eclipse.core.jobs 4 2 2011-10-31 11:50:24.211
!MESSAGE An internal error occurred during: "Launching mops-app".
!STACK 0
java.lang.NullPointerException
at org.eclipse.cdt.debug.internal.core.model.CDebugTarget.getSourceLookupPath(CDebugTarget.java:1837)
at org.eclipse.cdt.debug.internal.core.model.CDebugTarget.getSourceLookupPath(CDebugTarget.java:1848)
at org.eclipse.cdt.debug.internal.core.model.CDebugTarget.getSourceLookupPath(CDebugTarget.java:1848)
at org.eclipse.cdt.debug.internal.core.model.CDebugTarget.setSourceLookupPath(CDebugTarget.java:1815)
at org.eclipse.cdt.debug.internal.core.model.CDebugTarget.initializeSourceLookupPath(CDebugTarget.java:383)
at org.eclipse.cdt.debug.internal.core.model.CDebugTarget.initialize(CDebugTarget.java:282)
at org.eclipse.cdt.debug.internal.core.model.CDebugTarget.<init>(CDebugTarget.java:275)
at org.eclipse.cdt.debug.core.CDIDebugModel$1.run(CDIDebugModel.java:100)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2326)
at org.eclipse.cdt.debug.core.CDIDebugModel.newDebugTarget(CDIDebugModel.java:105)
at org.eclipse.cdt.launch.internal.LocalCDILaunchDelegate.launchLocalDebugSession(LocalCDILaunchDelegate.java:162)
at org.eclipse.cdt.launch.internal.LocalCDILaunchDelegate.launchDebugger(LocalCDILaunchDelegate.java:112)
at org.eclipse.cdt.launch.internal.LocalCDILaunchDelegate.launch(LocalCDILaunchDelegate.java:72)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:854)
at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:703)
at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:928)
at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1132)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Upvotes: 2
Views: 4102
Reputation: 1019
I had a similar problem (Ubuntu 14.04, SBT 13.1.0) - launching Debugger caused a java.lang.NullPointerException
. Checking the log by starting Eclipse with eclipse-nios2 -consoleLog
, I had similar entries:
java.lang.NullPointerException
at org.eclipse.cdt.debug.internal.core.model.CDebugTarget.getSourceLookupPath(CDebugTarget.java:1843)
at org.eclipse.cdt.debug.internal.core.model.CDebugTarget.getSourceLookupPath(CDebugTarget.java:1864)
at org.eclipse.cdt.debug.internal.core.model.CDebugTarget.getSourceLookupPath(CDebugTarget.java:1864)
at org.eclipse.cdt.debug.internal.core.model.CDebugTarget.setSourceLookupPath(CDebugTarget.java:1817)
at org.eclipse.cdt.debug.internal.core.model.CDebugTarget.initializeSourceLookupPath(CDebugTarget.java:385)
at org.eclipse.cdt.debug.internal.core.model.CDebugTarget.initialize(CDebugTarget.java:286)
at org.eclipse.cdt.debug.internal.core.model.CDebugTarget.<init>(CDebugTarget.java:279)
I believe the cause is the same; I found another fix and wanted to share it for completeness.
I have linked resources in my project, and the log made me suspect they were the cause. I had linked the resources with Import->General->File system->[... Create links in workspace...]
.
I removed these links and instead linked to the sources by Project Properties->C/C++ General->Paths and Symbols->[tab] Source Location->Link folder...
.
This made the Debugger run fine without complaining.
Upvotes: 1
Reputation: 131
The issue was associated with upgrading the version of CMake. CMake 2.8.5 generated 'Subproject' entries in the Eclipse .cproject
and .project
files. For some reason, CMake by default told Eclipse to ignore the Subproject paths, thus confusing Eclipse's indexer when it tried to debug code.
The problem is easily resolved by commenting-out the <linkedResources>
entry of the .project
file, e.g.
<!--link>
<name>[Subprojects]/MOPS</name>
<type>2</type>
<location>/home/user/mops-c-Git/src/mopsc</location>
</link-->
and commenting-out the Subproject portion <pathentry>
entry of the .cproject
file, e.g.
<!--pathentry kind="src" path="MOPS"/>
<pathentry excluding="MOPS/|**/CMakeFiles/" kind="out" path=""/-->
Upvotes: 2
Reputation: 72636
Make sure to have selected the executable to run in the Run/Run or Run/Debug menu.
Upvotes: 1