strace pour les appels de bibliothèque

14

Je connais Strace, qui est super pratique pour regarder les appels système. Existe-t-il un équivalent qui peut suivre les appels vers des bibliothèques externes?

Par exemple, j'essaie de déboguer une mauvaise conduite SSLeay avec un binaire tiers pour lequel je ne peux pas accéder au code (et pour qui le développeur ne répond pas). Je crois avoir résolu le problème, mais je ne peux pas tester cela sans voir exactement comment les données vérifiées par signature sont formatées pour être envoyées à SSLeay.

draeath
la source

Réponses:

12

ltrace - Un traceur d'appel de bibliothèque.

Il ne fonctionne que sur Linux et dans un petit sous-ensemble d'architectures. Les appels aux bibliothèques dlopen () ed ne seront pas tracés. Autres pointeurs de la page de manuel et/etc/ltrace.conf

Nikhil Mulley
la source
3
Existe-t-il une solution disponible pour les bibliothèques dlopen () ed?
draeath
8

Parfois, ltrace fonctionne. En général, cela nécessite un débogueur tel que GDB . Vous pouvez vous faire une idée des fonctions sur lesquelles placer des points de trace ou des points d'arrêt en consultant la structure d'appel dans le démontage ( objdump -d /path/to/executable).

Gilles 'SO- arrête d'être méchant'
la source