gdb if 条件语法错误

Bas*_*ien 3 fortran gdb

我在文件 test.f90 中有一个非常简单的 Fortran 程序:

program test
   real :: x
   x=12
   write(*,*) x
end program test
Run Code Online (Sandbox Code Playgroud)

我编译它

gfortran -g test.f90
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用 gdb:

gdb a.out
break 4 if a == 12
Run Code Online (Sandbox Code Playgroud)

但我明白了

A syntax error in expression, near `= 12'.
Run Code Online (Sandbox Code Playgroud)

我发现几个文档和论坛说这应该有效,但它没有......这个简单条件的正确语法是什么?我使用 gdb 7.6.1。

fra*_*lus 6

gdb 的文档对Fortran 支持有以下说明

GDB 可用于调试用 Fortran 编写的程序,但目前仅支持 Fortran 77 语言的功能。

由于逻辑条件x == 12是 Fortran 90 系谱,您可以改为编写

break 4 if x.eq.12
Run Code Online (Sandbox Code Playgroud)