rastreio para chamadas de biblioteca

14

Conheço strace, que é super útil para assistir a chamadas do sistema. Existe um equivalente que pode rastrear chamadas para bibliotecas externas?

Por exemplo, estou tentando depurar alguns comportamentos impróprios do SSLeay com um binário de terceiros para os quais não consigo acessar o código (e para quem o desenvolvedor não responde). Acredito que resolvi o problema, mas não posso testar isso sem ver exatamente como os dados que estão sendo verificados por assinatura estão sendo formatados para serem enviados ao SSLeay.

draeath
fonte

Respostas:

12

ltrace - Um rastreador de chamadas da biblioteca.

Funciona apenas no Linux e em um pequeno subconjunto de arquiteturas. As chamadas para as bibliotecas dlopen () ed não serão rastreadas. Outros indicadores da página de manual e/etc/ltrace.conf

Nikhil Mulley
fonte
3
Existe alguma solução disponível para as bibliotecas dlopen () ed?
precisa
8

Às vezes, ltrace funciona. Em geral, isso requer um depurador como o GDB . Você pode ter uma idéia de quais funções colocar pontos de rastreio ou pontos de interrupção observando a estrutura de chamada na desmontagem ( objdump -d /path/to/executable).

Gilles 'SO- parar de ser mau'
fonte