Saya telah men-debug potongan kode berikut di Cygwin dan Eclipse menggunakan gdb sebagai debugger:
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
Saat menjalankan gdb, saya mencoba mencetak array "vektor" yang dapat dialokasikan mengikuti alokasinya, tetapi saya berakhir dengan yang berikut:
(gdb) p vector
Unhandled dwarf expression opcode 0x97
Saya telah menjelajahi Stack Overflow dan Google, tetapi saya belum menemukan apa pun yang menyentuh inti permasalahan. Saya telah memeriksa yang berikut ini,
- http://numericalnoob.blogspot.be/2012/08/fortran-allocatable-arrays-and-pointers.html
- Ekspresi katai yang tidak tertangani
- Fortran mencetak array yang dapat dialokasikan di gdb
tapi saya masih belum mengerti apa masalahnya atau bagaimana cara memperbaikinya. Saya mendapat keluhan yang sama dari gdb di Eclipse (Rilis Mars.1, 4.5.1) ketika mencoba mencetak/menampilkan konten tipe turunan. Spesifikasi terkini tentang mesin/kompiler/debugger saya meliputi yang berikut:
- Windows 8.1
- versi gfortran: GNU Fortran (GCC) 4.9.3
- versi gdb: GNU gdb (GDB) 7.8
Bantuan apa pun dihargai.