24小时热门版块排行榜    

查看: 602  |  回复: 3
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

xirainbow

木虫 (正式写手)

[交流] 【求助】gdb无法查看module中变量 已有2人参与

1:定义一了个module io,其中只有一个变量aw
2:在主程序定义变量yt,并给wy,aw赋值。
3:编译源程序:gfortran -g hello.f90
4:进入gdb模式:gdb a.out
5:在gdb模式下,可以p wy,但是无法p aw(显示“No symbol "aw" defined in current context.”)
     键入info locals,只显示了wy,没有显示aw

使用gfortran -gstabs+ hello.f90也不行。
使用gfortran -g FFLAGS=-O0 hello.f90还是不行。

以下为源程序:hello.f90
MODULE io
implicit none
integer::aw
common aw
end MODULE io

program main
USE io
implicit none
integer::yt
yt=50
aw=100
write(*,*)"hello",yt,aw
end
输出结果为 hello  50  100。

[ Last edited by xirainbow on 2010-5-8 at 13:57 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xirainbow

木虫 (正式写手)

引用回帖:
Originally posted by holmescn at 2010-05-08 13:23:42:
专家的问题果然很难回答。呵呵。
不过,我的建议是:放弃动态跟踪测试,改用单元测试。

PS:很久很久不用gdb了,什么都不记得了……

谢谢:)
这个问题我依然没有搞定;(

在google上搜了一下,知道“单元测试”的目的是什么。
但是,请问单元测试是需要在源程序中添加n多的write语句?
还是想gdb一样,有类似的测试工具?
3楼2010-05-08 13:55:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

holmescn

金虫 (正式写手)

xirainbow(金币+5): 2010-05-08 13:41:58
专家的问题果然很难回答。呵呵。
不过,我的建议是:放弃动态跟踪测试,改用单元测试。

PS:很久很久不用gdb了,什么都不记得了……
2楼2010-05-08 13:23:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)

★ ★
余泽成(金币+2):谢谢参与应助! 2010-05-09 15:45:52
xirainbow(金币+5):再次感谢;) 不过,没有搜到fortran的单元测试框架;( 我再找找;) 2010-05-09 21:20:46
C、C++,Java等语言都有工具(或者叫库)来支持单元测试。比如CUunit,Junit等。你可以google单元测试框架,应该能找到不少。

我觉得用gdb之类的在线调试工具也就是为了了解程序运行过程中各个变量的变化情况。只是具有实时性和直观性。

个人的愚见。呵呵。
4楼2010-05-09 14:00:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见