0

我已经开始编写数百万行 FORTRAN 大小的代码(DALTON 量子化学代码)。我想通过 Eclipse 来调试它,所以一直在努力在 IDE 中进行设置。

一切运行良好,代码似乎已正确导入,Eclipse 将通过 Cmake 为其生成的 makefile 构建它(使用调试设置)。该程序还将在 Eclipse 中运行良好,将预期结果打印到控制台。但是,当我尝试调试它时,我遇到了 java.lang.NullPointerException 错误,我不知道如何解决。

在项目浏览器中可以看到一些不正确的线索。Eclipse 似乎处理“dalton.exe”可执行文件的方式与处理通过制作(相同的编译器,gfortran)生成的可执行文件的方式不同,这是我为测试 Eclipse 是否按预期调试 Fortran 文件而制作的一个简单的 helloworld 程序。它似乎将可执行文件视为文本文件。

我无法以新用户的身份直接发布图片,因此我必须提供托管版本的链接。(我会闲逛并回答我发现可以改变的任何问题:))

任何帮助是极大的赞赏。

屏幕截图:http: //i.imgur.com/efmpV0l.png

编辑:

我已经查看了工作区的 .metadata/.log ,但恐怕我不会犯太多错误。它记录以下内容:

!SESSION 2013-11-20 13:46:52.774 -----------------------------------------------
eclipse.buildId=4.3.0.M20130911-1000
java.version=1.7.0_45
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.parallel.product
Command-line arguments:  -os macosx -ws cocoa -arch x86_64 -product org.eclipse.epp.package.parallel.product

!ENTRY org.eclipse.core.net 1 0 2013-11-20 13:47:30.190
!MESSAGE System property http.nonProxyHosts has been set to local|*.local|169.254/16|*.169.254/16 by an external source. This value will be overwritten using the values from the preferences

!ENTRY org.eclipse.debug.ui 4 0 2013-11-20 13:48:54.496
!MESSAGE Tab group extension: org.eclipse.cdt.launch.applicationProfileLaunchTabGroup for type org.eclipse.cdt.launch.applicationLaunchType for the [profile] mode has been replaced by extension: org.eclipse.cdt.launch.applicationProfileLaunchTabGroup

!ENTRY org.eclipse.core.jobs 4 2 2013-11-20 13:49:02.238
!MESSAGE An internal error occurred during: "Launching DALTON-Debug_build Configuration".
!STACK 0
java.lang.NullPointerException
    at org.eclipse.cdt.debug.internal.core.model.CDebugTarget.getSourceLookupPath(CDebugTarget.java:1889)
    at org.eclipse.cdt.debug.internal.core.model.CDebugTarget.getSourceLookupPath(CDebugTarget.java:1910)
    at org.eclipse.cdt.debug.internal.core.model.CDebugTarget.getSourceLookupPath(CDebugTarget.java:1910)
    at org.eclipse.cdt.debug.internal.core.model.CDebugTarget.setSourceLookupPath(CDebugTarget.java:1863)
    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)
    at org.eclipse.cdt.debug.core.CDIDebugModel$1.run(CDIDebugModel.java:127)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2345)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2327)
    at org.eclipse.cdt.debug.core.CDIDebugModel.newDebugTarget(CDIDebugModel.java:132)
    at org.eclipse.cdt.launch.internal.LocalCDILaunchDelegate.launchLocalDebugSession(LocalCDILaunchDelegate.java:162)
    at org.eclipse.cdt.launch.internal.LocalCDILaunchDelegate.launchDebugger(LocalCDILaunchDelegate.java:113)
    at org.eclipse.cdt.launch.internal.LocalCDILaunchDelegate.launch(LocalCDILaunchDelegate.java:74)
    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:858)
    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:707)
    at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1018)
    at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1222)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)

编辑2:

或许有些进展:

我现在正在使用 sudo 启动 eclipse。我切换到 Debug 窗口,然后切换到控制台中的 Executables 选项卡。我在表中右键单击并将 dalton.x 作为可执行文件导入。值得注意的是,源代码已成功找到,并且可执行文件导入正常。

运行调试版本会出现一个新错误:无法设置程序参数、环境或工作目录。无法设置工作目录:“/Users/james/QC_Codes/Dalton/build”:没有这样的文件或目录。无法设置工作目录:“/Users/james/QC_Codes/Dalton/build”:没有这样的文件或目录。无法设置工作目录:“/Users/james/QC_Codes/Dalton/build”:没有这样的文件或目录。

我已经仔细检查了。这些目录存在并且应该可以访问。

再次非常感谢任何建议。

我继续实验...

4

1 回答 1

0

该错误看起来像几个 Eclipse 错误报告,例如https://bugs.eclipse.org/bugs/show_bug.cgi?id=335180https://bugs.eclipse.org/bugs/show_bug.cgi?id=288106他们似乎与缺少资源或缺少链接资源有关。

于 2013-11-20T14:24:31.637 回答