Valgrind — Détection d'erreurs mémoire

Dynamique Debug

Présentation

Valgrind est un framework d'instrumentation dont l'outil phare, Memcheck, détecte les erreurs mémoire : fuites, lectures/écritures hors limites, usage de mémoire non initialisée ou libérée. Précieux en reverse/pwn pour comprendre une corruption.

Usage

# Détection de fuites et erreurs
valgrind --leak-check=full ./binaire
valgrind --track-origins=yes ./binaire   # origine du non-init

# Autres outils
valgrind --tool=callgrind ./bin   # profil d appels
valgrind --tool=cachegrind ./bin  # profil cache

Interprétation

"Invalid read/write" = accès hors limites (overflow), "definitely lost" = fuite mémoire, "uninitialised value" = lecture avant écriture. Les adresses et la stack trace localisent précisément le bug à corriger ou exploiter.