Contents of this manual
1 Introduction
1.1 What Valgrind is for
1.2 What it does with your program

2 How to use it, and how to make sense of the results
2.1 Getting started
2.2 The commentary
2.3 Reporting of errors
2.4 Suppressing errors
2.5 Command-line flags
2.6 Explanation of error messages
2.7 Writing suppressions files
2.8 Building and installing
2.9 If you have problems

3 Details of the checking machinery
3.1 Valid-value (V) bits
3.2 Valid-address (A) bits
3.3 Putting it all together
3.4 Signals
3.5 Memory leak detection

4 Limitations

5 How it works -- a rough overview
5.1 Getting started
5.2 The translation/instrumentation engine
5.3 Tracking the status of memory
5.4 System calls
5.5 Signals

6 An example

7 The design and implementation of Valgrind