構造体、f90 構造型およびポインタを dbx で表示できます。
demo% f90 -o debstr -g DebStruct.f90 demo% dbx debstr debstr の読み込み中 ld.so.1 の読み込み中 ...... (dbx) list 1,$ (注 1) 1 Program DebStruPtr ! Debug a Structure & pointer 2 TYPE product 3 INTEGER id 4 CHARACTER*16 name 5 CHARACTER*8 model 6 REAL cost 7 REAL price 8 END TYPE product 9 10 TYPE(product), TARGET :: prod1, prod2 (注 2) 11 TYPE(product), POINTER :: curr, prior (注 3) 12 13 curr => prod2 (注 4) 14 prior => prod1 (注 5) 15 prior%id = 82 (注 6) 16 prior%name = "Coffe Cup" 17 prior%model = "XL" 18 prior%cost = 24.0 19 prior%price = 104.0 20 curr = prior (注 7) 21 WRITE (*, *) curr%name, " ", prior%name (注 8) 22 END PROGRAM DebStruPtr 23 (dbx) stop at 21 (2) stop at "DebStruct.f90":21 (dbx) run 実行中: debstr (dbx) run 実行中: debstr (プロセス id 23726) MAIN で停止しました 行番号 21 ファイル "DebStruct.f90" 21 WRITE (*, *) curr%name, " ", prior%name (dbx) print prod1 prod1 = ( id = 82 name = "Coffe Cup " model = "XL " cost = 24.0 price = 104.0 )
注 1: 構造型を宣言します。
注 2: prod1 および prod2 ターゲットを宣言します。(#10)
注 3: curr および prior ポインタを宣言します。(#11)
注 4: curr が prod2 を指すようにします。(#13)
注 5: prior が prod1 を指すようにします。(#14
注 6: prior を初期化します。(#15
注 7: curr を prior に設定します。(#20)
注 8: curr および prior から名前を印刷します。(#21)
上記において dbx は、構造型のすべての要素を表示します。
構造体を使用して、f90 構造型の項目について照会できます。
(dbx) whatis prod1 (注 1) product prod1 (dbx) whatis -t product (注 2) type product INTEGER*4 id character*16 name character*8 model REAL*4 cost REAL*4 price end type product
注 1: 変数について尋ねます。
注 2: 型 (-t) について尋ねます。
(dbx) print prior (注 1) prior = ( id = 82 name = "Coffe Cup " model = "XL " cost = 24.0 price = 104.0 )
注 1: dbx は、アドレスであるポインタの内容を表示します。このアドレスは、実行のたびに異 なる場合があります。