gpt4 book ai didi

Eclipse CDT 在 Ubuntu 11.10 中调试失败,抛出 java.lang.NullPointerException

转载 作者:行者123 更新时间:2023-12-04 18:28:36 25 4
gpt4 key购买 nike

我最近完成了 Ubuntu 11.10 的全新安装,安装了最新版本的 Eclipse CDT。我正在尝试使用 CMake 生成的 makefile 和 Eclipse 项目文件来调试现有的 C++ 项目。在尝试调试(使用调试配置中给出的所有正确设置)时,启动失败并出现错误:

An internal error occurred during: "Launching mops-app".
java.lang.NullPointerException

尝试调试最小的 Hello World 项目时不会发生这种情况。该项目可以使用最新版本的 Eclipse CDT 在 Ubuntu 11.04 上成功调试。我机器上的java版本是:
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)

尝试启动调试配置的 Eclipse 输出是:
!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)

最佳答案

该问题与升级 CMake 版本有关。 CMake 2.8.5 在 Eclipse .cproject 中生成“子项目”条目和 .project文件。出于某种原因,默认情况下,CMake 告诉 Eclipse 忽略子项目路径,从而在尝试调试代码时混淆 Eclipse 的索引器。

通过注释掉 <linkedResources> 可以轻松解决问题。 .project 的条目文件,例如

<!--link>
<name>[Subprojects]/MOPS</name>
<type>2</type>
<location>/home/user/mops-c-Git/src/mopsc</location>
</link-->

并注释掉子项目部分 <pathentry> .cproject 的条目文件,例如
<!--pathentry kind="src" path="MOPS"/>
<pathentry excluding="MOPS/|**/CMakeFiles/" kind="out" path=""/-->

关于Eclipse CDT 在 Ubuntu 11.10 中调试失败,抛出 java.lang.NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7953481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com