Valgrind, the anti-Alzheimer pill for your memory problems
Valgrind and its different tools are providing a rich set of functionality to track memory problems such as dangling pointers, memory leaks, race conditions, etc.
In this talk, we will describe some old and new features that help to understand what happens in your application. Among others, we will give a demo and/or discuss:
how to use valgrind with your application specific memory pool
how to (interactively) ask Valgrind to describe a piece of memory
some heuristics used by Valgrind to reduce the number of 'possibly lost' leaks with C++ code
We will discuss more in detail the concept of execution trees, which will be available in the next Valgrind release. An execution tree associates stack traces of your program with some data. Execution trees allow Memcheck and Helgrind to provide a memory profile of your application. We will show how such an execution tree memory profile can be visualised using tools such as Massif visualiser or kcachegrind.