Startseite > Prozessverwaltung > ltrace

ltrace: Nachverfolgung von Bibliotheksaufrufen

ltrace ist ein Dienstprogramm, das verwendet wird, um die Aufrufe von dynamischen Bibliotheksfunktionen durch ein laufendes Programm zu verfolgen und aufzuzeichnen. Dadurch können Sie detailliert verstehen, welche Bibliotheksfunktionen ein Programm mit welchen Argumenten aufruft und was die Ergebnisse sind, was es für das Debugging, die Leistungsanalyse und die Reverse-Engineering nützlich macht.

Ü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.

Gleiche Kategorie Befehle