Eu acho que memleax é exatamente o que você quer.
Ele depura o vazamento de memória de um processo em execução, anexando-o, sem recompilar o programa ou reiniciar o processo de destino. É muito conveniente e adequado para o ambiente de produção.
Funciona no GNU / Linux e FreeBSD.
NOTA: Sou o autor, qualquer sugestão é bem-vinda
== EDIT ==
Escrevo outra ferramenta libleak , que conecta funções de memória por LD_PRELOAD.
Também não há necessidade de modificar o programa de destino. Embora você precise reiniciar o progresso com LD_PRELOAD, é possível ativar / desativar a detecção durante a execução.
Há muito menos impacto no desempenho, pois não há interceptação de sinal.
Comparado com ferramentas semelhantes (como mtrace), ele imprime a pilha de chamadas completa no ponto de vazamento de memória suspeito.