在 Ubuntu 上调试 Fortran 程序,通常的流程是:编译时加调试信息 → 用调试器(gdb)或打印日志 → 必要时用静态/动态分析工具。下面给你一套实用方案。
一般使用 gfortran:
sudo apt update
sudo apt install gfortran
如果需要调试工具:
sudo apt install gdb
gfortran -g -O0 -o myprog myprog.f90
说明:
-g:生成调试信息-O0:关闭优化(否则变量可能被优化掉,调试不准)gfortran -g -O0 -Wall -fcheck=all -o myprog myprog.f90
-Wall:常见警告-fcheck=all:数组越界、未初始化等运行期检查(非常有用)gdb ./myprog
| 功能 | 命令 |
|---|---|
| 运行 | run |
| 设置断点 | break 行号 或 break 子程序名 |
| 查看源码 | list |
| 单步(进函数) | step |
| 单步(不进) | next |
| 查看变量 | print 变量名 |
| 查看调用栈 | backtrace |
| 继续运行 | continue |
| 退出 | quit |
示例:
break 25
run
print i
next
⚠️ 注意:
print a(1)ulimit -c unlimited
运行程序崩溃后:
gdb ./myprog core
然后:
backtrace
print *, 'DEBUG i=', i
open(10, file='log.txt')
write(10,*) 'step', i
close(10)
gfortran -g -O0 -fcheck=all myprog.f90
sudo apt install valgrind
valgrind ./myprog
gfortran -pg myprog.f90
./myprog
gprof ./myprog gmon.out
module)调试时符号更清楚implicit none,调试会轻松很多如果你愿意,可以把:
.f / .f90 / .f03发给我,我可以直接帮你定位问题。