Strace für Bibliotheksbesuche

14

Ich kenne strace, was super praktisch ist, um Systemaufrufe zu beobachten. Gibt es eine Entsprechung, die Aufrufe an externe Bibliotheken verfolgen kann?

Zum Beispiel versuche ich, ein SSLeay-Fehlverhalten mit einer Drittanbieter-Binärdatei zu beheben, für die ich nicht auf den Code zugreifen kann (und deren Entwickler nicht reagiert). Ich glaube, ich habe das Problem behoben, aber ich kann es nicht testen, ohne genau zu sehen, wie die signaturgeprüften Daten für das Senden an SSLeay formatiert werden.

draeath
quelle

Antworten:

12

ltrace - Ein Bibliotheksaufruf-Tracer.

Es funktioniert nur unter Linux und in einer kleinen Teilmenge von Architekturen. Aufrufe an dlopen () ed-Bibliotheken werden nicht verfolgt. Weitere Hinweise aus Manpage und/etc/ltrace.conf

Nikhil Mulley
quelle
3
Gibt es eine Lösung für dlopen () ed-Bibliotheken?
4.
8

Manchmal funktioniert ltrace . Dies erfordert im Allgemeinen einen Debugger wie GDB . Anhand der Aufrufstruktur in disassembly ( objdump -d /path/to/executable) können Sie sich einen Eindruck verschaffen, auf welche Funktionen Trace- oder Break-Punkte angewendet werden sollen .

Gilles 'SO - hör auf böse zu sein'
quelle