我正在调试 prog.f90,它有一个模块 mod.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