man callgrind (Commandes) - calls valgrind with the callgrind tool

NAME

callgrind - calls valgrind with the callgrind tool

SYNOPSIS

callgrind [options] progs-and-args

DESCRIPTION

Callgrind is a profiling tool similar to gprof, but by being able to observe a program run in great detail - using Valgrind - it can give much more information. The binary does not have to be prepared for profiling with callgrind in any special way. Still, it is recommand to compile with debug information.

Callgrind builds up the call graph of a program while it is running, and optionally does cache simulation. The collected profiling data can be stored into an output file multiple times in a program run, optionally separately for every thread in the case of multithreaded code. For interactive inspection and control, see callgrind_control. The data produced (callgrind.out.PID) can be analysed with callgrind_annotate or better with the graphical profile visualization KCachegrind. Further documentation can be found in HTML format; see below.

OPTIONS

This program follows the usual GNU command line syntax, with long options starting with two dashes (`-'). A summary of most important options is included below.

--help
Show summary of options. See there for more options.
--version
Show version of callgrind.
--simulate-cache=yes
Run with cache simulation.
--dump-instr=yes
Store detailed profile data at assembler instruction granularity. This enables assembler annotation.
--collect-jumps=yes
Collect information about jumps executed inside of functions. This is only useful for the assembler annotation; source annotation will look confusing.
--separate-threads=yes
With multithreaded code, profile data is produced separately for every thread.
--instr-atstart=no
Start callgrind without profile measuring. This greatly speeds up execution of long application startups you are not interested in. Switch on profiling with callgrind_control -i on

SEE ALSO

callgrind_control, callgrind_annotate, /usr/share/doc/valgrind/html/callgrind.html

AUTHOR

This manual page was written by Josef Weidendorfer <Josef Weidendorfer@gmx.de>.