モジュール mod.f90 を持つ prog.f90 をデバッグしています。引数変数の値を出力するにはどうすればよいですか?
モジュールには、ループ内で呼び出されるサブルーチンがあります。引数を受け取り、ローカル変数に格納し、引数の新しい値を計算して別のローカル変数に格納し、ローカル変数を使用して特定の条件をテストします。引数の新しい値が main に戻されます。
サブルーチン内ですべての変数の値を出力しようとしています。ローカル変数を出力できますが、引数変数を出力すると参照アドレスが得られます。
(gdb)print temp_curr
$1 = 4
(gdb)print arg1
$2 = (REF TO -> ( real8 )) @0x7fffffffe0a0: -nan(0x8000000000000)
私は試した...
(gdb)print $arg1
$3 = VOID
サブルーチンは次のようになります...
SUBROUTINE sub(arg1, arg2)
IMPLICIT NONE
REAL, INTENT(inout):: arg1, arg2
REAL :: temp_prev, temp_curr
temp_prev = arg1
arg1 = (a bunch of calculations)/arg2
temp_curr = arg1
IF (temp_curr < temp_prev) THEN
stop
END IF
END SUBROUTINE sub