Mpatrol
Mpatrol est un outil libre de débogage mémoire multi-système par analyse dynamique.
Il est similaire dans ses objectifs, et une partie de son fonctionnement, à eFence, ou dans une certaine mesure, à valgrind ou encore Purify.
Il est distribué selon les termes de la licence GNU GPL.
Principe de fonctionnement
Le principe de base, commun avec eFence, est de charger avec le programme à déboguer un ensemble de fonction qui viennent remplacer (surcharger) les fonctions standard du système relative aux allocations mémoires.
Il devient ainsi possible de tracer les paires d'allocation/libération, et de détecter si certains bloc mémoires alloués ne sont jamais libérés (fuites mémoires). De plus mpatrol teste les débordements de tableaux et les variables non initialisées dans les programmes informatiques écrits en C ou C++.
Il se présente sous la forme d'une bibliothèque logicielle. qui peut être liée statiquement ou dynamiquement au programme à déboguer (même éventuellement, au run-time, selon le système et le compilateur utilisés).
Mpatrol fonctionne sous Linux, Windows et différentes variétés d'Unix (dont OS X).