У меня есть следующая структура данных в программе Fortran90:
TYPE derivedType
CHARACTER(100) :: name = ' '
INTEGER :: type = 0
REAL(KIND(1.0D0)) :: property = 0.0
END TYPE derivedType
TYPE (derivedType), ALLOCATABLE, DIMENSION(:) :: arrayOfDerivedTypes
Когда я пытаюсь отлаживать и печатать значения в GDB, например:
(gdb) p arrayOfDerivedTypes(1)%name
Я получаю бессмысленные значения (часто строки нулей, косые черты и буквы) или совершенно неправильные значения (например, arrayOfDerivedTypes(1)%name = 9, когда я знаю, что это = 2). Как я могу заставить GDB печатать правильные значения?
Фон
Я знаю:
- эта ошибка: http://sourceware.org/bugzilla/show_bug.cgi?id=9395< /а>
- эта ветвь GDB: http://sourceware.org/gdb/wiki/ProjectArcher
- и этот пост в блоге о печати выделяемых массивов: http://numericalnoob.blogspot.be/2012/08/fortran-allocatable-arrays-and-pointers.html
Я не хочу утруждать себя компиляцией отдельной ветки GDB, чтобы проверить, решает ли она эту проблему, если кто-то уже знает, что это не так, или если есть лучшее доступное решение.
Мне трудно представить, что решения этой проблемы еще нет. У сообщества Fortran еще нет лучшего решения для бесплатного отладчика?