dbx が配列を認識し、配列を出力します。
demo% dbx a.out
a.out の読み込み中
ld.so.1 の読み込み中
......
(dbx) list
2 DO 90 I = 1,4
3 DO 20 J = 1,4
4 IARR(I,J) = (I*10) + J
5 20 CONTINUE
6 90 CONTINUE
7 END
(dbx) stop at 7
(2) stop at "Arraysdbx.f":7
(dbx) run
実行中: a.out
(プロセス id 23495)
mb.so.1 の読み込み中
wcwidth.so.1 の読み込み中
MAIN で停止しました 行番号 7 ファイル "Arraysdbx.f"
7 END
(dbx) print IARR
iarr =
(1,1) 11
(2,1) 21
(3,1) 31
(4,1) 41
(1,2) 12
(2,2) 22
(3,2) 32
(4,2) 42
(1,3) 13
(2,3) 23
(3,3) 33
(4,3) 43
(1,4) 14
(2,4) 24
(3,4) 34
(4,4) 44
(dbx) print IARR(2,3)
iarr(2, 3) = 23
(dbx) quit
次の例は、dbx で割り当て済み配列を処理する方法を示しています。
demo% f90 -g Alloc.f90
demo% dbx a.out
a.out の読み込み中
ld.so.1 の読み込み中
...... (注 1)
(dbx) list 1,$
1 PROGRAM TestAlocate
2 INTEGER n, status
3 INTEGER, ALLOCATABLE :: buffer(:)
4 PRINT *, `Size?'
5 READ *, n
6 ALLOCATE (buffer(n), STAT=status)
7 IF (status /= 0) STOP `cannot allocate buffer'
8 buffer(n)=n
9 PRINT *,buffer(n)
10 DEALLOCATE (buffer, STAT = status)
11 END
(dbx) stop at 6
(2) stop at "Alloc.f90":6
(dbx) stop at 9
(3) stop at "Alloc.f90":9
(dbx) run
実行中: a.out
(プロセス id 23512)
Size?
1000
MAIN で停止しました 行番号 6 ファイル "Alloc.f90" (注 2)
6 ALLOCATE (buffer(n), STAT=status)
(dbx) whatis buffer
INTEGER*4 , allocatable::buffer(:)
(dbx) next
MAIN で停止しました 行番号 7 ファイル "Alloc.f90"
7 IF (status /= 0) STOP `cannot allocate buffer'
(dbx) whatis buffer
INTEGER*4 buffer(1:1000)
(dbx) cont
MAIN で停止しました 行番号 9 ファイル "Alloc.f90" (注 3)
9 PRINT *,buffer(n)
(dbx) print n
n = 1000
(dbx) print buffer(n)
buffer(n) = 1000 (注 4)
注 1: Alloc.f90
注 2: 行番号 6 ではサイズは未知
注 3: 行番号 9 ではサイズは未知
注 4: buffer (1000)
print arr-exp(first-exp :last-exp:stride-exp )
|
変数 |
説明 |
デフォルト |
|---|---|---|
|
arr-exp |
1 つの配列型に評価される式 |
|
|
first-exp |
出力される最初の要素 |
配列の下限 |
|
last-exp |
出力される最後の要素 |
配列の上限 |
|
stride-exp |
刻み幅 |
1 |
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)
(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)
(dbx) print a(1:3,4:4)
a(3:3, 1:4) =
(1,4) 14
(2,4) 24
(3,4) 34
(dbx)