gdb seems not to be able to reason about dynamically allocated fortran arrays. Here an example
program test
implicit none
double precision, dimension(3) :: sa
double precision, dimension(:), pointer :: da
integer :: i
allocate(da(size(sa)))
do i= 1, size(sa)
sa(i) = i
da(i) = i
end do
print *, da
end program test
Compiled via
/tmp $ gfortran --version GNU Fortran (GCC) 4.7.1 20120721 (prerelease) ... /tmp $ gfortran -g -O0 test.f90 -o test
/tmp $ gdb test Reading symbols from /tmp/test...done. (gdb) b 13 Breakpoint 1 at 0x4009c7: test.f90:13. (2 locations) (gdb) run Starting program: /tmp/test warning: Could not load shared library symbols for linux-vdso.so.1. Do you need "set solib-search-path" or "set sysroot"? Breakpoint 1, main (argc=1, argv=0x7fffffffcd5f) at test.f90:13 13 end program test (gdb) c Continuing. 1.0000000000000000 2.0000000000000000 3.0000000000000000 Breakpoint 1, test () at test.f90:13 13 end program test (gdb) p sa $1 = (1, 2, 3) (gdb) p da $2 = (0) (gdb) ptype sa type = real(kind=8) (3) (gdb) ptype da type = real(kind=8) (*)