Não tenho certeza se essa ferramenta existe, mas posso pensar em duas maneiras possíveis de fazê-lo de uma forma relativamente indolor:
- escrever um script GDB ( encadear pontos de interrupção específicos , logging em vez de quebrar , etc.)
- escreva um
LD_PRELOAD library
substituindo as funções que você deseja rastrear (exemplo:malloc
/realloc
/free
override aqui ) e use libunwind para exibir a pilha de chamadas