温馨提示×

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 踩