温馨提示×

ubuntufortran怎么调试程序

小樊
38
2026-09-16 09:34:58
栏目: 智能运维

在 Ubuntu 下调试 Fortran 程序,通常步骤如下:


一、编译时加上调试信息

使用 gfortran 编译时一定要加 -g 选项:

gfortran -g -O0 -o myprog myprog.f90

说明:

  • -g:生成调试信息
  • -O0:关闭优化(否则变量可能被优化掉,调试困难)
  • 如果是多文件:
gfortran -g -O0 main.f90 sub.f90 -o myprog

二、使用 GDB 调试(最常用)

1. 启动 GDB

gdb ./myprog

2. 常用 GDB 命令

功能 命令
运行程序 run
设置断点 break 行号break 子程序名
查看断点 info break
单步执行 step(进入子程序)
下一步 next
查看变量 print 变量名
查看所有变量 info locals
继续运行 continue
退出 quit

示例:

break 20
run
print x
next

三、调试数组和模块(Fortran 特有注意事项)

  • 模块变量:要先 use 模块,否则 GDB 看不到
  • 数组
print a(1:10)
  • 派生类型
print obj%field

四、运行时错误定位

1. 数组越界、未初始化

编译时加:

gfortran -g -O0 -fcheck=all -o myprog myprog.f90

运行时会直接报错并定位行号。

2. 段错误(Segmentation fault)

gdb ./myprog
run
bt   # backtrace,查看调用栈

五、使用 IDE(可选)

如果你不想用命令行:

  • VS Code + Fortran 插件 + GDB
  • Eclipse Photran
  • Code::Blocks(支持 Fortran)

六、简单示例

myprog.f90

program main
  integer :: i, s
  s = 0
  do i = 1, 5
    s = s + i
  end do
  print *, s
end program

调试:

gfortran -g -O0 myprog.f90 -o myprog
gdb ./myprog
break 4
run
print s

如果你愿意,可以:

  • 告诉我你的 Fortran 版本(77 / 90 / 95 / 2003…)
  • 或贴一段 报错信息 / 代码 我可以给你更具体的调试方法。

0