Previous: Internals, Up: Details


9.4 Debugging gprof

If gprof was compiled with debugging enabled, the ‘-d’ option triggers debugging output (to stdout) which can be helpful in understanding its operation. The debugging number specified is interpreted as a sum of the following options:

2 - Topological sort
Monitor depth-first numbering of symbols during call graph analysis
4 - Cycles
Shows symbols as they are identified as cycle heads
16 - Tallying
As the call graph arcs are read, show each arc and how the total calls to each function are tallied
32 - Call graph arc sorting
Details sorting individual parents/children within each call graph entry
64 - Reading histogram and call graph records
Shows address ranges of histograms as they are read, and each call graph arc
128 - Symbol table
Reading, classifying, and sorting the symbol table from the object file. For line-by-line profiling (‘-l’ option), also shows line numbers being assigned to memory addresses.
256 - Static call graph
Trace operation of ‘-c’ option
512 - Symbol table and arc table lookups
Detail operation of lookup routines
1024 - Call graph propagation
Shows how function times are propagated along the call graph
2048 - Basic-blocks
Shows basic-block records as they are read from profile data (only meaningful with ‘-l’ option)
4096 - Symspecs
Shows symspec-to-symbol pattern matching operation
8192 - Annotate source
Tracks operation of ‘-A’ option