gdb をデバッガーとして使用して、Cygwin と Eclipse で次のコードをデバッグしました。
program codetest
implicit none
integer, parameter :: dp = kind(1.0d0)
integer, parameter :: N = 10
real(dp), dimension(:), allocatable :: vector
integer :: i
allocate(vector(1:N))
forall(i = 1:10)
vector(i) = sqrt(real(i, dp))
end forall
write(*, '(F7.3, 1X)', advance = 'no') (vector(i), i = 1, N)
deallocate(vector)
end program codetest
gdb を実行しているときに、割り当てに続いて割り当て可能な配列「ベクトル」を出力しようとしましたが、最終的には次のようになりました。
(gdb) p vector
Unhandled dwarf expression opcode 0x97
Stack Overflow と Google を精査しましたが、問題の核心に迫るものは見つかりませんでした。以下を調べてみましたが、
- http://numericalnoob.blogspot.be/2012/08/fortran-allocatable-arrays-and-pointers.html
- 未処理の矮星式
- Fortran は、gdb の割り当て可能な配列を出力します
しかし、私はまだ問題が何であるか、またはそれを修正する方法を理解していません。派生型の内容を印刷/表示しようとすると、Eclipse (Mars.1 リリース、4.5.1) の gdb から同じ苦情を受けました。私のマシン/コンパイラ/デバッガに関する現在の仕様は次のとおりです。
- Windows 8.1
- gfortran バージョン: GNU Fortran (GCC) 4.9.3
- gdb バージョン: GNU gdb (GDB) 7.8
どんな助けでも大歓迎です。