O maciço (da valgrind) é uma das melhores maneiras de encontrar vazamentos de memória. Repita seu código suspeito (ou execute seu programa por tempo suficiente) e despeje o resultado com ms_print. Normalmente, a pilha de chamadas fornece informações suficientes para corrigi-la.
Com o GDB, você pode tentar se conectar a um programa em execução e chamar funções como malloc_stats()
Se o seu programa for escrito em um idioma diferente, pode ser mais complicado. Recentemente, alguns GDB ganharam capacidade de script e as pessoas começaram projetos interessantes como o gdb-heap , que pode analisar a memória Python a partir de um dump principal. Scripts de análise de memória semelhantes podem ser possíveis para objetos C ++.
Leia também /programming/2564752/examining-cc-heap-memory-statistics-in-gdb