Überblick
ltrace fängt die Aufrufe von gemeinsam genutzten Bibliotheksfunktionen ab, die von einem Programm verwendet werden, und gibt sie aus. Dies ist sehr hilfreich, um das Verhalten eines Programms zu verstehen und Probleme zu diagnostizieren.
Hauptanwendungsfälle
- Programm-Debugging
- Analyse von Leistungshalsen
- Untersuchung von Sicherheitslücken
- Reverse-Engineering
Wichtige Optionen
Die Hauptoptionen von ltrace steuern die Nachverfolgungsmethode, das Ausgabeformat, die Filterung usw.
Nachverfolgungskontrolle
Ausgabe und Filterung
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`ltrace` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Anwendungsbeispiele
So verfolgen Sie Bibliotheksaufrufe von Programmen in verschiedenen Szenarien mit ltrace.
Nachverfolgung grundlegender Bibliotheksaufrufe
ltrace ls
Verfolgt die Bibliotheksaufrufe des Befehls 'ls'.
Anzeigen von Aufrufstatistiken
ltrace -c ls
Zeigt eine Zusammenfassung der Aufrufanzahl und der Zeit für jede Bibliotheksfunktion des Befehls 'ls'.
Speichern der Ausgabe in einer Datei
ltrace -o ls_trace.log ls
Speichert die Nachverfolgungsergebnisse des Befehls 'ls' in der Datei 'ls_trace.log'.
Nur bestimmte Bibliotheksfunktionen verfolgen
ltrace -e 'malloc|free' ls
Verfolgt nur die Aufrufe der Funktionen 'malloc' oder 'free' im Befehl 'ls'.
Nachverfolgung von Kindprozessen
ltrace -f bash -c "ls"
Verfolgt die Bibliotheksaufrufe von 'bash' und 'ls', wenn 'ls' in der 'bash'-Shell ausgeführt wird.
Installation
ltrace ist möglicherweise nicht auf den meisten Linux-Distributionen standardmäßig installiert. Sie können es mit den folgenden Befehlen installieren.
Debian/Ubuntu
sudo apt update && sudo apt install ltrace
Installiert ltrace auf Debian- oder Ubuntu-basierten Systemen.
CentOS/RHEL/Fedora
sudo dnf install ltrace
Installiert ltrace auf CentOS-, RHEL- oder Fedora-basierten Systemen.
Tipps & Hinweise
Punkte, die bei der Verwendung von ltrace zu beachten sind, und nützliche Tipps.
Leistungs-Overhead
- ltrace kann die Ausführungsgeschwindigkeit von Programmen erheblich verlangsamen. Verwenden Sie es daher in Produktionsumgebungen mit Vorsicht.
Unterschied zu strace
- ltrace verfolgt Bibliotheksaufrufe, während strace Systemaufrufe verfolgt. Die gemeinsame Verwendung beider Tools kann Ihnen helfen, das Verhalten eines Programms besser zu verstehen.
Statisch verknüpfte Binärdateien
- ltrace ist nur für Programme effektiv, die von dynamischen Bibliotheken abhängen. Statisch verknüpfte Binärdateien haben keine Bibliotheksaufrufe und können daher nicht von ltrace verfolgt werden.
Berechtigungen
- Sie benötigen möglicherweise Root-Berechtigungen (sudo), um die Prozesse anderer Benutzer oder Systembinärdateien zu verfolgen.