gprof: Analysis Options

 
 4.2 Analysis Options
 ====================
 
 '-a'
 '--no-static'
      The '-a' option causes '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'
      The '-c' option causes the call graph of the program to be
      augmented by a heuristic which examines the text space of the
      object file and identifies function calls in the binary machine
      code.  Since normal call graph records are only generated when
      functions are entered, this option identifies children that could
      have been called, but never were.  Calls to functions that were not
      compiled with profiling enabled are also identified, but only if
      symbol table entries are present for them.  Calls to dynamic
      library routines are typically _not_ found by this option.  Parents
      or children identified via this heuristic are indicated in the call
      graph with call counts of '0'.
 
 '-D'
 '--ignore-non-functions'
      The '-D' option causes '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'
      The '-k' option allows you to delete from the call graph any arcs
      from symbols matching symspec FROM to those matching symspec TO.
 
 '-l'
 '--line'
      The '-l' option enables line-by-line profiling, which causes
      histogram hits to be charged to individual source code lines,
      instead of functions.  This feature only works with programs
      compiled by older versions of the '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.  SeeStatistical Sampling Error
      Sampling Error.
 
 '--inline-file-names'
      This option causes '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'
      This option affects execution count output only.  Symbols that are
      executed less than NUM times are suppressed.
 
 '-nSYMSPEC'
 '--time=SYMSPEC'
      The '-n' option causes 'gprof', in its call graph analysis, to only
      propagate times for symbols matching SYMSPEC.
 
 '-NSYMSPEC'
 '--no-time=SYMSPEC'
      The '-n' option causes 'gprof', in its call graph analysis, not to
      propagate times for symbols matching SYMSPEC.
 
 '-SFILENAME'
 '--external-symbol-table=FILENAME'
      The '-S' option causes 'gprof' 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'
      If you give the '-z' option, '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.