最適化プログラムをデバッグするには、次のことを行ってください。
-g を付けて、-On を付けずにメインプログラムをコンパイルする。
適切な -On を付けて、プログラムのルーチンを 1 つおきにコンパイルする。
dbx のもとで実行を開始する。
デバッグしたいルーチンに対して fix -g any.f を使用する。ただし、-On は付けない。
コンパイルされたルーチンに対して continue を使用する。
デバッグの主プログラム
PARAMETER ( n=2 ) REAL twobytwo(2,2) / 4 *-1 / CALL mkidentity( twobytwo, n ) PRINT *, determinant( twobytwo ) END
デバッグのサブルーチン
SUBROUTINE mkidentity ( array, m ) REAL array(m,m) DO 90 i = 1, m DO 20 j = 1, m IF ( i .EQ. j ) THEN array(i,j) = 1. ELSE array(i,j) = 0. END IF 20 CONTINUE 90 CONTINUE RETURN END
デバッグの関数
REAL FUNCTION determinant ( a ) REAL a(2,2) determinant = a(1,1) * a(2,2) - a(1,2) / a(2,1) RETURN END