使用英特尔Fortran调试器进行eclipse

时间:2010-11-30 14:52:18

标签: eclipse eclipse-plugin debugging fortran idbcommand

我的问题如下:

我想使用带有eclipse的idb intel调试器来逐步完成我的代码,就像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中的?

欢呼声, 大卫

2 个答案:

答案 0 :(得分:4)

不是专家,但如果这有帮助,这个帖子提到(即使是FORTRAN 11):

  

我正在考虑你的问题,我认为我没有像你的意思那样把你的问题陈述视为字面意思。
  您是说在调试器中看不到的代码位于MODULE定义文件中?如果是这样,我会说问题是由于使用gdb作为Fortran调试器的一般限制。如果您使用英特尔调试器,您将能够进入英特尔Fortran生成的代码,该代码包含在MODULE中。

     

我发现您使用的是英特尔Fortran版本11.0。有几个选择。

     
      
  • 英特尔Fortran 11.0附带了一个新的独立GUI版IDB。如果您不介意在Eclipse中构建,而是在另一个工具中进行调试,则可以使用它。假设您已初始化使用Intel调试器的环境,则使用“idb”命令调用新的gui版本。
  •   
  • 英特尔Fortran 11.0还提供了调试器的命令行版本,您可以使用“idbc”命令调用该版本,假设您已初始化使用英特尔调试器的环境。
  •   
  • 您可以尝试的第三种方法是在Photran中修改调试启动配置,以便它调用idbc而不是gdb。这不是英特尔正式支持的东西,但当我尝试一个类似于我认为你的情况的例子时,它可以工作o.k.同样,英特尔不支持此功能,因此如果您在此配置中遇到其他问题,则无法提供帮助。如果它对你来说效果很好,那就让你在Eclipse / Photran中做所有事情   如果您想尝试它,请在启动Eclipse之前初始化您的环境以使用Intel调试器,启动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。

答案 1 :(得分:0)

问题问题已经过去了3年但是这个解决方法适用于任何遇到eclipse和idb问题的人,特别是在OS X上。

在eclipse的gdb标签中用idbc替换Debugger在Linux上运行正常。

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