6

我的问题如下:

我想将 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 中的?

干杯,大卫

4

2 回答 2

4

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

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

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

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

该线程还提到(如果它对您的问题有任何影响):

idbGUI 似乎运行了一个名为 的后端,它对 Eclipse IDE 的iidb模拟gdb效果非常好。

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

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

于 2010-12-06T06:35:51.040 回答
0

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

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

如果您在 OS X 10.7+ 上,在 eclipse 中不支持 Intel Fortran 编译器,请创建一个 makefile 项目,使用自定义 makefile 创建一个目标,ifort与标志一起使用-g -fpic -Wl,-no_pie(OS X 10.7+ 需要这些标志) , 替换gdbidb它最终会起作用。

于 2013-11-07T18:54:39.223 回答