Legacy C++ services don't crash — they slowly bleed memory until someone restarts them at 3 AM. If you've inherited a 20‑year‑old codebase with mysterious memory growth, this guide is for you. You can't fix a leak if you can't reproduce. This is your complete, production‑focused Valgrind investigation playbook. It's based on real systems, real leaks, and real debugging pain. Table of Contents The Workflow Step 1 — Reproduce the Leak Step 2 — Static Analysis Step 3 — Compile for Valgrind Step 4 — Run Valgrind Step 5 — Understand Valgrind's Leak Types Step 6 — Capture the Stack Trace Step 7 — Optional Regression Test Quick Reference Real‑World Example The Golden Rule The Workflow [Leak Trigger] → [Static Analysis] → [Compile Debug Build] ↓ [Run Valgrind] → [Interpret Leak Types] → [Stack Trace] ↓ [Regression Test] Enter fullscreen mode Exit fullscreen mode Step 1 — Reproduce the Leak You cannot find a leak if you cannot trigger it.…