Creo que memleax es exactamente lo que quieres.
Depura la pérdida de memoria de un proceso en ejecución al adjuntarlo, sin volver a compilar el programa o reiniciar el proceso de destino. Es muy conveniente y adecuado para el entorno de producción.
Funciona en GNU / Linux y FreeBSD.
NOTA: Soy el autor, cualquier sugerencia es bienvenida
== EDITAR ==
Escribo otra herramienta libleak , que engancha funciones de memoria por LD_PRELOAD.
Tampoco hay necesidad de modificar el programa de destino. Aunque debe reiniciar el progreso con LD_PRELOAD, puede habilitar / deshabilitar la detección durante la ejecución.
Hay mucho menos impacto en el rendimiento ya que no hay trampa de señal.
En comparación con herramientas similares (como mtrace), imprime la pila de llamadas completa en un punto sospechoso de pérdida de memoria.