dbx コマンドによるデバッグ

配列のスライス

Fortran 配列スライスの構文は次のとおりです。


print arr-exp(first-exp
:last-exp:stride-exp
)

表 17-1 配列スライスの変数

変数 

説明 

デフォルト 

arr-exp

1 つの配列型に評価される式 

 

first-exp

出力される最初の要素 

配列の下限 

last-exp

出力される最後の要素 

配列の上限 

stride-exp

刻み幅 

行と列を指定します。


demo% f77 -g -silent ShoSli.f
demo% dbx a.out
a.out の読み込み中
ld.so.1 の読み込み中
  ......
(dbx) list 1,12
    1                integer*4  A(3,4), col, row
    2                do row = 1,3
    3                   do col = 1,4
    4                        A(row,col) = (row*10) + col
    5                   end do
    6                end do
    7                do row = 1, 3
    8                write(*,'(4I3)') (A(row,col),col=1,4)
    9                end do
   10                end
(dbx) stop at 7
(2) stop at "ShoSli.f":7
(dbx) run
実行中: a.out
(プロセス id 23521)
mb.so.1 の読み込み中
wcwidth.so.1 の読み込み中
MAIN で停止しました 行番号 7  ファイル "ShoSli.f"
    7                           do row = 1, 3
(dbx)

行 3 を出力


(dbx) print a(3:3,1:4)
a(3:3, 1:4) = 
       (3,1)   31 
       (3,2)   32 
       (3,3)   33 
       (3,4)   34
(dbx)

列 4 を出力


(dbx) print a(1:3,4:4)
a(3:3, 1:4) = 
       (1,4)   14 
       (2,4)   24 
       (3,4)   34
(dbx)