Valgrind 3.3Advanced Debugging and Profilingfor GNU/Linux applicationsJulian Seward, Nicholas Nethercote, Josef Weidendorfer and the Valgrind Development Team |
This manual describes the use of Valgrind, a powerful debugging and profiling tool for GNU/Linux programs.
- 1 Introduction
- 2 Quick Start Guide
- 3 Using and understanding the Valgrind core
- 3.1 What Valgrind does with your program
- 3.2 Getting started
- 3.3 The Commentary
- 3.4 Reporting of errors
- 3.5 Suppressing errors
- 3.6 Command-line flags for the Valgrind core
- 3.7 Support for Threads
- 3.8 Handling of Signals
- 3.9 Building and Installing Valgrind
- 3.10 If You Have Problems
- 3.11 Limitations
- 3.12 An Example Run
- 3.13 Warning Messages You Might See
- 4 Valgrind core: Advanced Topics
- 5 Memcheck: a heavyweight memory checker
- 5.1 Kinds of bugs that Memcheck can find
- 5.2 Command-line flags specific to Memcheck
- 5.3 Explanation of error messages from Memcheck
- 5.3.1 Invalid read / Invalid write errors
- 5.3.2 Use of uninitialised values
- 5.3.3 Invalid frees
- 5.3.4 When a block is freed with an inappropriate deallocation function
- 5.3.5 Passing system call parameters with inadequate read/write permissions
- 5.3.6 Overlapping source and destination blocks
- 5.3.7 Memory leak detection
- 5.4 Writing suppression files
- 5.5 Details of Memcheck's checking machinery
- 5.6 Client Requests
- 5.7 Memory Pools: describing and working with custom allocators
- 5.8 Debugging MPI Parallel Programs with Valgrind
- 6 Cachegrind: a cache and branch profiler
- 7 Callgrind: a call graph profiler
- 8 Massif: a heap profiler
- 9 Helgrind: a thread error detector
- 10 Nulgrind: the null tool
- 11 Lackey: a simple profiler and memory tracer
- 12 Valgrind FAQ
- 13 Callgrind Format Specification
- 14 The Design and Implementation of Valgrind
- GNU Free Documentation License
- History
- Books from the publisher
- Index
| ISBN 0954612051 | Valgrind 3.3 - Advanced Debugging and Profiling for GNU/Linux applications | See the print edition |