6

我有一个关于调试 fortran 文件的问题。因此我用 d(*) 自动声明它。然而,在调试和监控阵列期间,它只显示相应阵列的第一个数字,而不是其他 60 个。(我使用 Fortran 95 编译器和 Visual Studio 2010)

我怎样才能查看数组的所有变量?


好的,这里有一个代码示例:

ia 是来自主程序的变量整数,取决于一些输入参数。

subroutine abc(ia,a,b,c)
dimension d(*)

a = d(ia+1)
b = d(ia+2)
c = d(ia+3)

return 
end

然而,对于调试,了解 d(*) 的结尾很有用

4

1 回答 1

1

我发现这样做的唯一方法是使用Watch窗口并为数组元素添加一个监视。假设您的数组被称为d,那么我发现观看以下表达式会显示数组中的值:

d(2)      ! which just shows the 2nd element in the array
d(1:10)   ! which shows the first 10 elements of the array
d(1:12:2) ! which shows the odd numbered elements of the array from 1 to 11

当然,对于您建议的长度为 60 的数组,则表达式

d(61)

将向您显示该数组地址指向的内存位置中的值。

当然,你真的应该将你的数组声明为d(:). Locals如果你这样做了,那么 VS 调试器会在通常的窗口中显示整个数组。

于 2012-11-26T12:01:51.393 回答