在 CentOS 上调试 Fortran 程序,通常分为 编译环境准备 → 编译带调试信息 → 使用调试器 几个步骤。下面给你一套常用、实用的方法。
CentOS 常用的是 gfortran(GNU Fortran)。
sudo yum install -y gcc-gfortran
安装完成后检查:
gfortran --version
假设你有一个文件:
! hello.f90
program hello
integer :: i
do i = 1, 5
print *, i
end do
end program hello
-g)gfortran -g -O0 hello.f90 -o hello
说明:
-g:生成调试信息-O0:关闭优化(否则变量可能被优化掉,调试困难)gdb ./hello
| 功能 | 命令 |
|---|---|
| 设置断点 | break hello.f90:4 |
| 运行 | run |
| 单步(进入) | step |
| 单步(不进入) | next |
| 查看变量 | print i |
| 查看所有变量 | info locals |
| 继续运行 | continue |
| 退出 | quit |
示例:
(gdb) break hello.f90:4
(gdb) run
(gdb) print i
(gdb) next
-g -fbacktracegfortran -g -O0 -fbacktrace hello.f90 -o hello
运行后若崩溃,会显示:
Program received signal SIGSEGV
gdb ./hello
(gdb) run
(gdb) backtrace
sudo yum install -y valgrind
valgrind ./hello
cgdbddd(老牌 Fortran 调试器)sudo yum install -y ddd
ddd ./hello
Fortran 变量名通常是小写或加后缀,可用:
info variables
print a(1:10)
gfortran -g -O0 -fbacktrace test.f90 -o test
gdb ./test
如果你愿意,可以:
我可以直接帮你定位调试方法。