So verwenden Sie den Befehl Linux Strace?

So verwenden Sie den Befehl Linux Strace?

Der "StraceIst ein Linux-Befehlszeilen-Dienstprogramm, das ein nützliches und leistungsfähiges Tool zum Erfassen, Überwachung und Fehlerbehebung bei den Programmen in einem System ist. Es zeichnet die Systemaufrufe auf und fängt sie ab, was bei einem Programmen nicht hilfreich ist und nicht wie erwartet ausgeführt wird.

Der "StraceDas Befehlswerkzeug druckt, wie das Programm funktioniert und mit dem System kommuniziert. Dadurch kann der Benutzer leicht entschlüsseln, wo die Fehler auftreten, während das Programm geladen wird.

Der "ltraceBefehl ist ein UNIX -System -Dienstprogramm, das dem "ziemlich ähnlich ist"StraceDer Befehl, der Unterschied besteht darin, dass er die dynamischen Anrufe von gemeinsam genutzten Bibliotheken erfasst. Das Befehlstool „Ltrace“ ist kein nützliches Tool, um statisch verknüpfte Bibliotheken zu verfolgen.

Die Syntax der “StraceBefehl ist:

Strace [Optionen…] [Befehl]

So installieren Sie den Befehl "Strace"?

Der "Strace”Ist ein integriertes Werkzeug in Linux-Systemen, aber wenn es nicht auf der Maschine vorinstalliert ist, geben Sie den angegebenen Befehl in das Terminal ein:

$ sudo Apt installieren Sie Strace

So verwenden Sie die Befehlsoptionen "Strace"?

Führen Sie die angegebenen Optionen aus, um die Arbeit von zu überprüfenStrace" Befehl:

Tracing -Systemaufrufe

Um die Liste aller Systemaufrufe des Systems zu verfolgen, führen Sie die “aus“ ausStraceBefehl mit dem “dfBefehl in einem Terminal:

$ strace df -h

(Die Option „-h“ zeigt die Ausgabe im menschlich-lesbaren Format an)

Anweisungszeiger bei Systemaufrufen

Verwenden Sie den angegebenen Befehl, um den Anweisungszeiger anzuzeigen, während jeder Systemaufruf des Programms im Terminal aufgeführt ist:

$ strace -i df -h

Zeit der Spurausgabe

Geben Sie die Taktzeit des Tages für die Ausgangsausgabe in jeder einzelnen Zeile an-TOption mit dem angegebenen Befehl:

$ sudo strace -t df -h

Zeitverbrauch im Systemanruf

Leiten Sie die "-TOption in der Befehlszeile, um die Zeit anzuzeigen

Verbrauchte jedes Systemaufrufs, der seine Start- und Endzeit umfasst:

$ strace -t df -h

Spuren spezifische Systemaufrufe

In den obigen Abschnitten haben wir die Listen gesehen, um Systemaufrufe zu verfolgen. Wenn Sie jedoch bestimmte Systemaufrufe verfolgen möchten, tun Sie dies über die “-eOption mit den folgenden Möglichkeiten:

Angenommen, Sie möchten die Systemanrufe von „Lesen“ verfolgen, wäre der Befehl:

$ sudo strace -e trace = read df -h

Hier wird Trace als "als" bezeichnet "Qualifikation" und das "lesenIst sein Wert.

Um den Systemanruf des Qualifikationswerts zu verfolgen “Signal”, Geben Sie den Befehl ein:

$ sudo strace -e trace = signal df -h

Um die Systemaufrufe des Qualifikationswerts zu verfolgen “Netzwerk", Typ:

$ sudo strace -e trace = network df -h

Alle Systemanrufe zu verfolgen, die enthalten “Speicher", Typ:

$ strace -e Trace = Speicher df -h

(NOTIZ: Einige der Handlungen brauchen “sudo”Privilegien zu funktionieren, während einige ohne sie durchgeführt werden können).

Abschluss

Der "StraceBefehl ist ein Unix -Dienstprogramm, mit dem Systemaufrufe und Bibliotheken verfolgt werden. Durch das "StraceBefehl, Sie können die Systemaufrufe überwachen und erfassen, um die Programmprobleme zu beheben. Der "ltraceDer Befehl ”ähnelt dem“StraceBefehl ”, aber die statisch verknüpften Bibliotheken erfasst nicht.