使用-pg编译fortran 90程序后未出现gmon文件
我有一个Fortran程序,我想使用使用-pg编译fortran 90程序后未出现gmon文件,fortran,profiling,gprof,Fortran,Profiling,Gprof,我有一个Fortran程序,我想使用gprof对其进行分析。我要做的是使用-pg选项编译文件,如下所示(这只是一个简单的示例): 然后我手动编译: gfortran -c main.f90 -pg gfortran main.o -o prog -pg 但当程序退出时,不会出现gmon文件。你知道为什么这样不行吗? 我确实事先安装了binutils 版本: gfortran 5.1 binutils 2.25 操作系统:OS X Yosemite 编辑2007年7月21日:我将下面的示例代码更
gprof
对其进行分析。我要做的是使用-pg
选项编译文件,如下所示(这只是一个简单的示例):
然后我手动编译:
gfortran -c main.f90 -pg
gfortran main.o -o prog -pg
但当程序退出时,不会出现gmon
文件。你知道为什么这样不行吗?
我确实事先安装了binutils
版本:gfortran 5.1
binutils 2.25
操作系统:OS X Yosemite
编辑2007年7月21日:我将下面的示例代码更改为所做的注释您是否可以尝试
-Og
而不是-O2
?我不确定后者是否会干扰调试…我尝试过,但没有任何区别。这很奇怪,在我的情况下,您的简单程序运行得很好(gfortran 5.1
)。运行prog
后,gmon.out
存在,可由gprof
解释。。。您使用哪个编译器版本?我也在使用fortran 5.1
。我现在想知道gprof是否安装正确。我只是下载了binutils 2.25
。然后我做了/configure
,make
,make install
。看起来一切都正常。我不知道你为什么没有收到文件,但你可以确定它将不包含样本,因为它在I/O期间暂停采样,而当它进行采样时,它仅每10毫秒采样一次,如果是这样的话,程序的非I/O部分可能需要一微秒。你能尝试一下-Og
而不是-O2
?我不确定后者是否会干扰调试…我尝试过,但没有任何区别。这很奇怪,在我的情况下,您的简单程序运行得很好(gfortran 5.1
)。运行prog
后,gmon.out
存在,可由gprof
解释。。。您使用哪个编译器版本?我也在使用fortran 5.1
。我现在想知道gprof是否安装正确。我只是下载了binutils 2.25
。然后我做了/configure
,make
,make install
。看起来一切都正常。我不确定为什么没有文件,但你可以确定它不会包含任何样本,因为它在I/O期间暂停采样,而当它进行采样时,仅每10毫秒采样一次,如果是这样的话,程序的非I/O部分可能需要一微秒。
gfortran -c main.f90 -pg
gfortran main.o -o prog -pg