Befehl Ltrace Linux

Befehl Ltrace Linux
Das Ltrace Linux -Dienstprogramm -Tool wird verwendet, um dynamische Aufrufe an gemeinsame Bibliotheken auf dem System abzufangen und aufzunehmen. Das Tool ist nützlich für Diagnose und Debugging. Es verwendet einen dynamischen Bibliotheksmechanismus, der es auf nur gemeinsame Bibliotheksaufrufe in einer Datei- oder Standardfehlerausgabe beschränkt.

Dieser Leitfaden behandelt die Verwendung von Ltrace sowie die Installations- und Nutzungsbeispiele.

Installieren von Ltrace unter Linux

Für Debian Systems wird Ltrace mithilfe des folgenden Befehls mit APT installiert.

$ sudo apt installieren ltrace

Für Rhel oder CentOS lautet der Befehl:

$ sudo yum install ltrace

So verwenden Sie Ltrace

Sie können Ltrace problemlos mit einem Programm verwenden, das unten die Syntax verwendet.

$ ltrace [Programm] [Optionen]

Lassen Sie uns beispielsweise zufällige Dateien mit dem erstellen berühren Befehl und verwenden Sie Ltrace, um zu sehen, wie sie sich verhalten.

$ ltrace Touch Datei1.txt 2.TXT 3 4

Es gibt nur einen Exit -Status von zurück 0 um zu zeigen, dass die Dateien erstellt wurden. Hier findet nicht viel Aktivität statt, aber wenn wir versuchen, eine Archivdatei zu erstellen, in der unterschiedliche dynamische Anrufe beteiligt sind, erhalten wir weitere Details.

Wir werden die verwenden -F Flagge, das die untergeordneten Prozesse nachzeichnet, wenn sie durch den Prozess erstellt werden. Wir beginnen mit der Erstellung einer Archivdatei und komprimieren sie dann während der Verfolgung der untergeordneten Prozesse wie im Bild unten.

Mit ltrace die -P Die Option ermöglicht die Verfolgung der dynamischen Aufrufe eines laufenden Prozesses mithilfe seiner Prozess -ID.

$ ltrace -p [prozess -id]

Im folgenden Beispiel verwenden wir Ltrace bei einem Laufprozess mit einer ID von 47168.

Der -R Die Ltrace -Option zeigt den relativen Zeitstempel an, der jeder Trace -Linie zugeordnet ist. Zum Beispiel bei Verwendung der Katze Befehl zum Erstellen einer Datei können wir die verwenden -R Option wie in der folgenden Ausgabe.

Der Zeitstempel wird unten nach dem Interrupt angezeigt. Ähnlich wie der relative Zeitstempel ist das -T, Dies fügt die Tageszeit hinzu, die jeder Trace -Linie zugeordnet ist. Sie können verwenden -tt die Mikrosekunden einbeziehen.

In unserem Fall führen wir einen einfachen Ltrace -Prozess aus, aber Sie können sehen, dass die Tageszeit auf der linken Seite angezeigt wird.

Benutze die -S Facken Sie, um die Bibliotheks- und Systemaufrufe anzuzeigen, die einem Prozess zugeordnet sind.

Bisher haben wir gesehen. Wenn Sie die Ausgabe in eine Datei umleiten müssen, die Flag hat Ihren Rücken bekommen. Zum Beispiel zum Speichern der Bibliotheks- und Systemaufrufe, die im obigen Beispiel in eine Datei benannt wurden Demo1.txt, Der Befehl wird sein:

$ ltrace -o Demo1.txt -s ls

Die Datei wird erstellt, sobald wir Ltrace ausgeführt haben. Wenn wir sie öffnen, sehen wir, dass der Inhalt demselben Befehl in der Standardfehlerausgabe ähnelt. Die Umleitung von Ausgabe in Dateien ist eine gute Möglichkeit, Ergebnisse als Referenz zu speichern und Ihr Terminal sauber zu halten.

Manchmal müssen Sie angeben, welche Bibliotheksaufrufe mit Ltrace verwendet werden sollen. Es ist möglich, dies mit dem zu tun -e Möglichkeit. Sie müssen nur eine Regelnkette verwenden und die Regeln anhand von Mustern angeben, die beide Bibliothek identifizieren Sonamen oder der Symbolnamen. Sie können die manuelle Seite sehen, um mehr über die Arbeit mit einer Kette von Regeln und Mustern zu erfahren, aber die allgemeine Syntax ist wie folgt.

$ ltrace -e [Kettenreiche] [Programm]

Ersetze das Kettenreihen mit dem Muster und fügen Sie das Programm hinzu, um dynamische Bibliotheksaufrufe abzufangen; Du solltest gut gehen zu gehen.

Einpacken

Der Befehl ltrace linux eignet sich hervorragend zum Abfangen und Aufzeichnen aller dynamischen Bibliotheksaufrufe in Ihrem System. Dieser Leitfaden behandelte die verschiedenen Möglichkeiten, Ltrace anhand verschiedener Beispiele zu verwenden. Mit diesem Leitfaden können Sie sich jetzt leicht durch Ltrace bearbeiten.