回 帖 发 新 帖 刷新版面

主题:[求助] Linux平台下Fortran调试模块中动态数组查看问题

小弟最近从Windows系统迁移到Linux系统做科学计算,对Fortran的使用谈不上精通,也写了10W+行代码了。
在Windows下,我主要用IVF+VS2008的集成开发环境,除了并行程序外,调试环境用着还算顺手。
迁移到Linux下后,主要用gfortran/ifort + vim编写代码,一开始试用gdb调试,它竟然坑爹的连固定大小数组的查看都不支持,于是转而用Intel的idb,它与VS的调试器用着感觉很相似,也支持查看固定数组的值,不过当用它去查看模块中的动态数组的值是,它就不灵光。
在此,请问各位大虾,在Linux下,有哪个fortran调试器支持查看模块中动态数组的值?又或者是idb/gdb等可以支持查看数组而只是我没有配置好,请大虾们指点一二,先行谢过!

回复列表 (共9个回复)

沙发


坐等回复。。。
盼望f2003等大神现身。。。

板凳

试试董兄版本的gdb?

3 楼

[quote]试试董兄版本的gdb?[/quote]
我显然不编译Linux版的

lz需要的是archer gdb

没有prebuilt就自己编译吧

4 楼

哈哈,忘了平台问题了:)

5 楼

感谢楼上两位的回复!
正在折腾中。。。
看archer gdb的介绍,貌似是对C++的增强,不知对fortran是否也增强了。
用git克隆了个源码回来,编译出各种错,一个一个地装依赖包,目前还未编译通过。

在windows下的IVF调试器可以查看模块中的动态数组,不知为何linux下就不行了。

6 楼

linux下的idb版本已经不维护了。

7 楼

archer需要用archer-jankratochvil-vla分支,对C的变长数组和Fortran的动态数组有增强
别用错了

编译gdb哪有什么依赖包啊
需要的zlib/libiconv/expat系统中一般都有

除非你编译with python才需要python模块,但对fortran又没啥作用

8 楼

谢谢dongyuanxun的指点。我还真可能编译了with python。
archer有好多分支啊,您不说我还真没耐心一个一个地看文档。为免得折腾半天又搞错了,可否烦请您给个链接呢?先行谢过。

不过,用这种开发中的版本搞生产,我还真有点心虚。
花了一天时间解决了程序的平台依赖问题,暂时转回VS下调试。

另外,还想请教dongyuanxun兄,您的Fortran IDE是如何配置的?譬如我现在在Linux下用: Makefile + vim + gfortran + idb, 在windows下用VS2008 + IVF。

9 楼

你先建一个源码目录,然后到这个目录用命令行(要先安装git,如果没有的话)
git clone git://sourceware.org/git/archer.git
cd archer
git checkout -tb archer-jankratochvil-vla origin/archer-jankratochvil-vla
git pull

这样就track到archer-jankratochvil-vla分支了
然后就编译吧,如果configure时加入 --with-expat对调试so有帮助 --with-python对C++的STL等显示有帮助

Archer本来就是个实验性的分支,在技术成熟后会慢慢加入gdb trunk中(python模块也是首先在Archer中搞的,后来进入gdb成为主流配置),变长/动态数组至少这几年加入不了,估计会在实现标准稳定之后加入

我不用Fortran,所以也就无相关的IDE配置,不过使用Code::Blocks Debugger Branch + Fortran Plugin + AcherGDB + Gfortran 也是一个可选, 这些全是跨平台,只是对变长/动态的显示效果不太好,不能做到像通常的数组那样处理。

我来回复

您尚未登录,请登录后再回复。点此登录或注册