Valgrind — Détection d'erreurs mémoire
★★★★★
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.