在 CentOS 上调试 Fortran 代码,通常分为编译阶段和运行/调试阶段。下面给你一套从入门到常用的完整方法。
CentOS 常用 gfortran(GNU Fortran):
sudo yum install gcc-gfortran
验证:
gfortran --version
如果需要 Intel 编译器(ifort),需单独安装 Intel oneAPI。
gfortran main.f90 -o main
gfortran -g -O0 main.f90 -o main
说明:
-g:生成调试符号-O0:关闭优化(否则变量可能被优化掉,调试困难)gfortran -g -O0 -Wall -fcheck=all -fbacktrace main.f90 -o main
作用:
-Wall:显示警告-fcheck=all:数组越界、未初始化等检查-fbacktrace:出错时打印调用栈gdb ./main
break main # 在程序入口设断点
run # 运行程序
next # 单步(不进入函数)
step # 单步(进入函数)
print a # 打印变量
print array(1:10) # 打印数组片段
bt # 查看调用栈
continue # 继续执行
quit # 退出
print var
print var(1)
编译时加:
-fcheck=all
运行时会直接报错并定位行号。
gdb ./main
run
bt
查看崩溃位置。
gfortran -g -ffpe-trap=zero,overflow,invalid main.f90 -o main
print *, 'DEBUG a =', a
或在关键位置:
write(*,*) 'step', i, sum(x)
launch.json 使用 gdbsudo yum install ddd
ddd ./main
test.f90
program test
integer :: i, a(5)
do i = 1, 5
a(i) = i * 2
end do
print *, a
end program test
编译调试:
gfortran -g -O0 test.f90 -o test
gdb ./test
如果你有具体报错信息或代码段,可以直接发出来,我可以帮你具体定位问题。