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 librarysubstituindo as funções que você deseja rastrear (exemplo:malloc/realloc/freeoverride aqui ) e use libunwind para exibir a pilha de chamadas