Valgrind, version 2.0.0

This manual was last updated on 10 November 2002

jseward@acm.org, njn25@cam.ac.uk
Copyright © 2000-2002 Julian Seward, Nick Nethercote

Valgrind is licensed under the GNU General Public License, version 2
An open-source tool for debugging and profiling Linux-x86 executables.


Contents of this manual

Introduction

1.1  What Valgrind is for
1.2  What it does with your program

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  Explaination of error messages
2.7  Writing suppressions files
2.8  The Client Request mechanism
2.9  Support for POSIX pthreads
2.10  Building and installing
2.11  If you have problems

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

Limitations

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

An example

Cache profiling

The design and implementation of Valgrind