相关疑难解决方法(0)

在gdb中打印漂亮的Fortran动态类型

在gdb中打印Fortran可分配多态变量的值非常痛苦.鉴于下面的程序,为了看到它的价值alloc_ext,我必须做以下事情:

(gdb) p alloc_ext
$1 = ( _data = 0x606260, _vptr = 0x400ce0 <__foo_MOD___vtab_foo_My_extended_type> )
(gdb) ptype alloc_ext
type = Type __class_foo_My_base_type_a
PTR TO -> (     Type my_base_type :: _data)
PTR TO -> (     Type __vtype_foo_My_base_type :: _vptr)
End Type __class_foo_My_base_type_a
(gdb) ptype alloc_ext%_data
type = PTR TO -> ( Type my_base_type
character*4 :: base_char
End Type my_base_type )
(gdb) p alloc_ext%_data
$2 = (PTR TO -> ( Type my_base_type )) 0x606260
(gdb) p *(my_extended_type*)(alloc_ext%_data)
$3 = ( …
Run Code Online (Sandbox Code Playgroud)

fortran gdb

5
推荐指数
1
解决办法
348
查看次数

标签 统计

fortran ×1

gdb ×1