Я думаю, что memleax это именно то, что вы хотите.
Он отлаживает утечку памяти запущенного процесса, присоединяя его, без перекомпиляции программы или перезапуска целевого процесса. Это очень удобно и подходит для производственной среды.
Работает на GNU / Linux и FreeBSD.
ПРИМЕЧАНИЕ: я автор, любое предложение приветствуется
== РЕДАКТИРОВАТЬ ==
Я пишу еще один инструмент libleak , который перехватывает функции памяти по LD_PRELOAD.
Также нет необходимости изменять целевую программу. Несмотря на то, что вам нужно перезапустить процесс с LD_PRELOAD, вы можете включить / отключить обнаружение во время работы.
Там гораздо меньше влияния на производительность, так как нет ловушки сигнала.
По сравнению с аналогичными инструментами (такими как mtrace), он печатает полный стек вызовов в подозрительной точке утечки памяти.