gdb and Fortran90 arrays

Parker James E Contr AFRL/HEDR
2005-07-01T21:09:13Z

Hello,
I was wondering if anyone could help me decipher the output from gdb when
debugging Fortran90 code. Since gdb doesn't currently support Fortran90, it
defaults to a language format called "minimal", which is fine for most uses,
but for arrays the output is cryptic for me.

Example
define an array

real(KIND(1.0D0)), dimension(6)::x

If I wanted to examine x(2), I normally (fortran 77) would use
(gdb) p x(2)

But under the minimal language setting, gdb interprets parenthesis as a
function call--that of course doesn't exist--and therefore gdb complains
with an error. I tried using [ ] to replace the parentheses, but gdb
correctly replies that operator [] is undefined.

The best result I have is at a gdb prompt type
(gdb) p x

And you get a list that contains an offset, ecode, base and info. Can
anyone tell me what these things are? Ecode seems to represent the size of
each element in the array, but that's just a guess. The rest is some sort
of memory pointer, but I can't decipher it.

Jim Parker