-a
--no-static
gprof
to suppress the printing of
statically declared (private) functions. (These are functions whose
names are not listed as global, and which are not visible outside the
file/function/block where they were defined.) Time spent in these
functions, calls to/from them, etc., will all be attributed to the
function that was loaded directly before it in the executable file.
This option affects both the flat profile and the call graph.
-c
--static-call-graph
-D
--ignore-non-functions
gprof
to ignore symbols which
are not known to be functions. This option will give more accurate
profile data on systems where it is supported (Solaris and HPUX for
example).
-k
from/
to-l
--line
gcc
compiler. Newer versions of
gcc
are designed to work with the gcov
tool instead.
If the program was compiled with basic-block counting enabled,
this option will also identify how many times each line of
code was executed.
While line-by-line profiling can help isolate where in a large function
a program is spending its time, it also significantly increases
the running time of gprof
, and magnifies statistical
inaccuracies.
See Statistical Sampling Error.
--inline-file-names
gprof
to print the source file after each
symbol in both the flat profile and the call graph. The full path to the
file is printed if used with the ‘-L’ option.
-m
num--min-count=
num-n
symspec--time=
symspecgprof
, in its call graph analysis,
to only propagate times for symbols matching symspec.
-N
symspec--no-time=
symspecgprof
, in its call graph analysis,
not to propagate times for symbols matching symspec.
-S
filename--external-symbol-table=
filenamegprof
to read an external symbol table
file, such as /proc/kallsyms, rather than read the symbol table
from the given object file (the default is a.out
). This is useful
for profiling kernel modules.
-z
--display-unused-functions
gprof
will mention all
functions in the flat profile, even those that were never called, and
that had no time spent in them. This is useful in conjunction with the
‘-c’ option for discovering which routines were never called.