【问题标题】:Printing allocatable array in Fortran with gdb: Unhandled dwarf expression opcode 0x97 [duplicate]使用 gdb 在 Fortran 中打印可分配数组:未处理的 dwarf 表达式操作码 0x97 [重复]
【发布时间】:2015-11-19 03:15:25
【问题描述】:

我在 Cygwin 和 Eclipse 中使用 gdb 作为调试器调试了以下代码:

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 时,我尝试在分配后打印可分配数组“vector”,但最终得到以下结果:

(gdb) p vector
Unhandled dwarf expression opcode 0x97

我搜索了 Stack Overflow 和 Google,但没有找到任何能触及问题核心的内容。我已经检查了以下内容,

但我仍然不明白问题是什么或如何解决它。在尝试打印/显示派生类型的内容时,我从 Eclipse(Mars.1 Release,4.5.1)中的 gdb 得到了同样的抱怨。我的机器/编译器/调试器的当前规格包括以下内容:

  • Windows 8.1
  • gfortran 版本:GNU Fortran (GCC) 4.9.3
  • gdb 版本:GNU gdb (GDB) 7.8

感谢任何帮助。

【问题讨论】:

标签: gdb fortran fortran2003


【解决方案1】:

正如 cmets 中所指出的,我只需要更新我的 gdb 版本,这是通过 Cygwin 完成的。我现在运行 gdb 版本 7.9.1-1,使用与以前相同的 gfortran 版本。

【讨论】:

    猜你喜欢
    • 2015-05-26
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多