構造体、Fortran 95 構造型およびポインタを dbx で表示できます。
demo% f95 -o debstr -g DebStruc.f95 demo% dbx debstr (dbx) stop in main (2) stop in main (dbx) list 1,99 1 PROGRAM DebStruPtr! Debug structures & pointers 構造型を宣言します。 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 prod1 および prod2 ターゲットを宣言します。 10 TYPE(product), TARGET :: prod1, prod2 curr および prior ポインタを宣言します。 11 TYPE(product), POINTER :: curr, prior 12 curr が prod2 を指すようにします。 13 curr => prod2 prior が prod1 を指すようにします。 14 prior => prod1 prior を初期化します。 15 prior%id = 82 16 prior%name = "Coffee Cup" 17 prior%model = "XL" 18 prior%cost = 24.0 19 prior%price = 104.0 curr を prior に設定します。 20 curr = prior curr および prior から名前を出力します。 21 WRITE ( *, * ) curr%name, " ", prior%name 22 END PROGRAM DebStruPtr (dbx) stop at 21 (1) stop at "DebStruc.f95":21 (dbx) run 実行中: debstr (プロセス id 10972) MAIN で停止しました 行番号 21 ファイル "DebStruct.f95" 21 WRITE ( *, * ) curr%name, " ", prior%name (dbx) print prod1 prod1 = ( id = 82 name = "Coffee Cup" model = "XL" cost = 24.0 price = 104.0 ) |
前述において dbx は、構造型のすべての要素を表示します。
構造体を使用して、Fortran 95 構造型の項目について照会できます。
変数について尋ねます。 (dbx) whatis prod1 product prod1 型 (-t) について尋ねます。 (dbx) whatis -t product type product integer*4 id character*16 name character*8 model real cost real price end type product |
dbx は、アドレスであるポインタの内容を表示します。このアドレスは、実行のたび に異なる場合があります。 (dbx) print prior prior = ( id = 82 name = 'Coffee Cup' model = 'XL' cost = 24.0 price = 104.0 ) |