|Valgrind 3.3 - Advanced Debugging and Profiling for GNU/Linux applications|
by J. Seward, N. Nethercote, J. Weidendorfer and the Valgrind Development Team
Paperback (6"x9"), 164 pages
RRP £12.95 ($19.95)
7.3.2 Limiting the range of collected events
For aggregating events (function enter/leave, instruction execution, memory access) into event numbers, first, the events must be recognizable by Callgrind, and second, the collection state must be switched on.
Event collection is only possible if instrumentation
for program code is switched on. This is the default, but for faster
execution (identical to ‘valgrind --tool=none’),
it can be switched off until the program reaches a state in which
you want to start collecting profiling data.
Callgrind can start without instrumentation
by specifying option
Instrumentation can be switched on interactively
callgrind_control -i on
and off by specifying “off” instead of “on”. Furthermore, instrumentation state can be programmatically changed with the macros ‘CALLGRIND_START_INSTRUMENTATION;’ and ‘CALLGRIND_STOP_INSTRUMENTATION;’.
In addition to enabling instrumentation, you must also enable
event collection for the parts of your program you are interested in.
By default, event collection is enabled everywhere.
You can limit collection to a specific function
This will toggle the collection state on entering and leaving
the specified functions.
When this option is in effect, the default collection state
at program start is “off”. Only events happening while running
inside of the given function will be collected. Recursive
calls of the given function do not trigger any action.
It is important to note that with instrumentation switched off, the cache simulator cannot see any memory access events, and thus, any simulated cache state will be frozen and wrong without instrumentation. Therefore, to get useful cache events (hits/misses) after switching on instrumentation, the cache first must warm up, probably leading to many cold misses which would not have happened in reality. If you do not want to see these, start event collection a few million instructions after you have switched on instrumentation.
|ISBN 0954612051||Valgrind 3.3 - Advanced Debugging and Profiling for GNU/Linux applications||See the print edition|