strace para chamadas de biblioteca

14

Eu sei de strace, que é super útil para assistir a chamadas do sistema. Existe um equivalente que possa rastrear chamadas para bibliotecas externas?

Por exemplo, estou tentando depurar algum mau comportamento SSLeay com um binário de terceiros que não posso acessar o código (e quem é desenvolvedor não responde). Acredito que tenha resolvido o problema, mas não posso testar isso sem ver exatamente como os dados sendo verificados por assinatura estão sendo formatados para envio para SSLeay.

    
por draeath 04.01.2012 / 20:01

2 respostas

12

ltrace - Um rastreador de chamadas da biblioteca.

Funciona apenas no Linux e em um pequeno subconjunto de arquiteturas. Chamadas para bibliotecas dlopen () ed não serão rastreadas. Outros indicadores da man page e /etc/ltrace.conf

    
por 04.01.2012 / 20:20
8

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

    
por 05.01.2012 / 01:40