Debugging a Program With dbx

Optimized Programs

To debug optimized programs:

Main for debugging:


a1.f
	PARAMETER ( n=2 )
	REAL twobytwo(2,2) / 4 *-1 / 
	CALL mkidentity( twobytwo, n ) 
	PRINT *, determinant( twobytwo ) 
	END 

Subroutine for debugging:


a2.f
	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 

Function for debugging:


a3.f
	REAL FUNCTION determinant ( a ) 
	REAL a(2,2) 
	determinant = a(1,1) * a(2,2) - a(1,2) / a(2,1) 
	RETURN 
	END