我的问题如下:
我想使用带有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中的?
欢呼声, 大卫
答案 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
,它最终会起作用。