Valgrind Technical Documentation

Release 3.21.0.RC1 14 Apr 2023


Table of Contents

1. The Design and Implementation of Valgrind
2. Writing a New Valgrind Tool
2.1. Introduction
2.2. Basics
2.2.1. How tools work
2.2.2. Getting the code
2.2.3. Getting started
2.2.4. Writing the code
2.2.5. Initialisation
2.2.6. Instrumentation
2.2.7. Finalisation
2.2.8. Other Important Information
2.3. Advanced Topics
2.3.1. Debugging Tips
2.3.2. Suppressions
2.3.3. Documentation
2.3.4. Regression Tests
2.3.5. Profiling
2.3.6. Other Makefile Hackery
2.3.7. The Core/tool Interface
2.4. Final Words
3. Callgrind Format Specification
3.1. Overview
3.1.1. Basic Structure
3.1.2. Simple Example
3.1.3. Associations
3.1.4. Extended Example
3.1.5. Name Compression
3.1.6. Subposition Compression
3.1.7. Miscellaneous
3.2. Reference
3.2.1. Grammar
3.2.2. Description of Header Lines
3.2.3. Description of Body Lines