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).