如何在gdb中的fortran IO单元上设置断点/观察点?

如何在gdb中的fortran IO单元上设置断点/观察点?,fortran,gdb,gfortran,Fortran,Gdb,Gfortran,考虑以下陈述: open(unit=24,file='energy_check.out',status='unknown') 在代码中的其他文件中: write(24,*) x write(24,*) y 在代码中的其他文件中: write(24,*) x write(24,*) y 每次在24号机组上执行IO时,我都想观看/中断。如何做到这一点。网络搜索没有帮助。在所有此类语句上设置断点。我不知道还有别的办法。我不感

考虑以下陈述:

      open(unit=24,file='energy_check.out',status='unknown')
在代码中的其他文件中:

       write(24,*) x
       write(24,*) y
在代码中的其他文件中:

       write(24,*) x
       write(24,*) y

每次在24号机组上执行IO时,我都想观看/中断。如何做到这一点。网络搜索没有帮助。

在所有此类语句上设置断点。我不知道还有别的办法。我不感谢gdb对Fortran有那么多了解,可以观察I/O单元。您可以在libgfortran中设置一个条件断点,但我认为它不会太有用。这可能会有帮助()是对同一类型的24个单个值的所有写入,还是有所不同?如果它们是同一类型的单值,则将语句写入子例程,只需在子例程中设置断点。@M.Chinoune,这将中断包括其他单元在内的每次写入,其中许多将令人恼火,因为它们可能在do循环中。0向下投票grep-n“write(24)”FortFile.f,我假设源代码是FortFile.f,现在您可以更好地查看必须放置断点的行。还有一个选项可以将其放置在脚本中并从gdb运行。谢谢!在所有这些语句上放置断点。我不知道其他任何方法。我不感谢gdb了解Fortran的很多内容来观看I/O您可以在libgfortran中设置一个条件断点,但我认为它不会太有用。这可能会有帮助()所有对24的写入都是同一类型的单个值,还是有所不同?如果它们是同一类型的单个值,则将语句写入子例程,只需在子例程中设置断点。@M.Chinoune,这将中断包括其他单元在内的每一次写入,其中许多将很烦人,因为它们可能位于do循环中。0n vote grep-n“write(24)”FortFile.f,其中我假设源代码是FortFile.f,现在您可以更好地查看必须放置断点的行。还有一个选项可以将其放置在脚本中并从gdb运行。谢谢!