【问题标题】:eclipse with Intel Fortran debuggerEclipse 与英特尔 Fortran 调试器
【发布时间】:2011-05-17 22:22:49
【问题描述】:

我的问题如下:

我想将 idb intel 调试器与 eclipse 一起使用,以便能够逐步完成我的代码,就像 idb -gui 所做的那样。我已经尝试实施一个解决方案,我发现我用脚本替换了对 idb -gdb 的直接调用:

#!/bin/bash 
exec/usr/local/soft/intel/fc/10.0.025/bin/ifort/idb -gdb "$@" 

这实际上是有效的,因为它会启动我的程序,直到它进入命令提示符。现在我收到以下错误:

Target request failed: {R,T}xThread terminated.

那是我浪费了一整天试图解决这个问题并决定发布的时候。任何人都可以通过一些明智的建议进一步帮助我吗?你是如何将 idb 集成到 eclipse 中的?

干杯, 大卫

【问题讨论】:

    标签: eclipse eclipse-plugin debugging fortran idbcommand


    【解决方案1】:

    不是专家,但如果这有帮助,这个线程会提到(即使它适用于 FORTRAN 11):

    我在考虑您的问题,但我认为我并没有按照您的意思理解您的问题陈述。
    您是说在调试器中看不到的代码位于MODULE 定义文件中吗?如果是这样,我会说问题是由于使用 gdb 作为 Fortran 调试器的一般限制。如果您使用英特尔调试器,您将能够单步执行英特尔 Fortran 生成的代码,该代码包含在 MODULE 中。

    我看到您使用的是 Intel Fortran 11.0 版。有几个选择供您选择。

    • Intel Fortran 11.0 带有一个新的独立 GUI 版本的 IDB。如果您不介意在 Eclipse 中构建,但可以在另一个工具中调试,您可以使用它。您使用“idb”命令调用新的 gui 版本,假设您已初始化环境以使用英特尔调试器。
    • 英特尔 Fortran 11.0 还提供了调试器的命令行版本,您可以再次使用“idbc”命令调用它,前提是您已经初始化了使用英特尔调试器的环境。
    • 您可以尝试的第三种选择是修改 Photran 中的调试启动配置,使其调用 idbc 而不是 gdb。这不是英特尔官方支持的东西,但是当我用一个类似于我认为你的情况的例子来尝试它时,它可以正常工作。同样,英特尔不支持此功能,因此如果您在此配置中遇到其他问题,将无济于事。如果它对您来说足够好,它可以让您在 Eclipse/Photran 中完成所有工作。
      如果您想尝试一下,请在启动 Eclipse 之前初始化您的环境以使用英特尔调试器,启动 Eclipse,打开您的调试配置并选择调试器选项卡。然后在“调试器选项”区域的“Main”选项卡中,将“GDB debugger”从“gdb”更改为“idbc”。

    That thread 还提到(如果它对您的问题有任何影响):

    idb GUI 似乎运行一个名为 iidb 的后端,它模拟了 gdb,足以让 Eclipse IDE 运行。

    iidb 需要加载某些共享库。
    我通过将/opt/intel/Compiler/11.1/038/idb/lib/intel64 添加到环境中来实现这一点 Eclipse 启动之前的变量LD_LIBRARY_PATH
    您的路径应与您的特定 ifort 安装相匹配。

    在您的调试配置中,选项卡“Debugger”、字段“GDB debugger”,将gdb 替换为iidb。如果您希望它在启动时停止,请尝试将 main 替换为 MAIN__

    【讨论】:

    • 不幸的是我仍然无法让它工作:(你是如何为 iidb 加载共享库的?我的错误:创建会话无法识别的选项时出错:nw(DBX 模式)无法识别的选项:nw(DBX 模式)无法识别的选项:nw(DBX 模式)
    • @tarrasch:我没有更多关于这个问题的信息,除了这个线程 dev.eclipse.org/mhonarc/lists/photran/msg00162.html 提到了与您相同的错误消息。
    • 不幸的是我无法让它工作。线程中的人使用 idb 的 gui 界面,这对我来说非常不稳定。问题是我什至无法让 emacs 与 idb 一起工作,我真的不想在这方面投入更多时间。我不能让它工作让我很难过,因为它真的会加快我的开发过程。
    • @tarrasch:我明白,我只是在检查您是否有任何可以添加到我的答案中的元素。
    【解决方案2】:

    自提出该问题以来已过去 3 年,但此解决方法适用于遇到 eclipse 和 idb 问题的任何人,尤其是在 OS X 上。

    在 Eclipse 中的 Debugger 选项卡中将 gdb 替换为 idbc 在 Linux 上可以正常工作。

    如果您使用的是 OS X 10.7+,在 eclipse 中不支持英特尔 Fortran 编译器,请创建一个 makefile 项目,使用自定义 makefile 创建一个目标,使用 ifort 和标志 -g -fpic -Wl,-no_pie(这些OS X 10.7+ 需要标志),将gdb 替换为idb,它最终会起作用。

    【讨论】:

      猜你喜欢
      • 2016-04-26
      • 1970-01-01
      • 1970-01-01
      • 2017-03-06
      • 2010-12-04
      • 1970-01-01
      • 2016-10-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多