Dieses Handbuch wird mit freundlicher Genehmigung von Sebastian Hetze auf den Servern der Linux Information Systems AG gehosted.

next up previous contents index
Next: stty Up: Von GNU's, Muscheln und Previous: split

Subsections


strace

  

Funktion:

strace verfolgt Systemcalls und Signale eines Prozesses

Syntax:

strace [-d][-t][-f][-s Länge][-o Datei] {-p ProzessID | Kommando}

Beschreibung:

strace schaltet sich zwischen einen Benutzerprozeß und den Kernel und protokolliert alle Aktivitäten an dieser Schnittstelle. Wenn der verfolgte Prozeß einen Systemaufruf macht, gibt strace den Namen, die Argumente des Aufrufs und den Rückgabewert dieses Systemaufrufs aus. Wenn der verfolgte Prozeß ein Signal erhält, gibt strace den Namen des Signals aus.

Falls ein Systemaufruf mit einem Fehler  zurückkehrt, wird, wenn vorhanden, die dem Fehlerstatus zugeordnete Fehlermeldung angezeigt. Zeichenketten als Argumente eines Systemaufrufs werden nur bis zu einer bestimmten Länge ausgegeben. Standardmäßig ist dieser Wert auf 32 Zeichen eingestellt. Wenn eine Zeichenkette länger als der eingestellte Wert ist, werden die fehlenden Zeichen durch zwei Punkte angedeutet.

Es ist möglich, einen einzelnen Prozeß oder eine ganze Prozeßfamilie zu verfolgen. Wenn die von einem verfolgten Prozeß erzeugten Kindprozesse auch verfolgt werden, setzt die Protokollierung erst ein, nachdem der das Kind erzeugende Systemaufruf zurückkehrt und die ProzeßID des Kindes an den Elternprozeß zurückgibt. Zu diesem Zeitpunkt kann der Kindprozeß bereits Systemaufrufe gemacht haben, die dann nicht protokolliert sind.

Wenn strace zu einem bereits laufenden Prozeß hinzugeschaltet wird, können nur solche Kindprozesse verfolgt werden, die nach dem Hinzuschalten erzeugt werden.

Wenn Sie es nicht anders bestimmen, schreibt strace das Protokoll in den Standardfehlerkanal.

Sie können das Protokoll auch in eine Datei schreiben lassen. Wenn Sie die Kinder des verfolgten Prozesses auch verfolgen, werden die Protokolle für die Kindprozesse in separaten Dateien gespeichert, deren Namen mit dem für den Stammprozeß gewählten übereinstimmen und auf die ProzeßID des jeweiligen Kindes enden.

Optionen:

-d
(debug) veranlaßt strap, zusätzliche Informationen über eigene Systemaufrufe und Signale auf den Standardfehlerkanal zu schreiben
-t
(time) läßt am Anfang jeder Protokollzeile die Zeit (Std:Min:Sec) ausgeben
-f
(follow) veranlaßt die Verfolgung von Kindprozessen des verfolgten Prozesses
-o Datei
veranlaßt strace, das Protokoll in die Datei zu schreiben
-s Länge
verändert die standardmäßig auf 32 Zeichen beschränkte Länge der Ausgabe von Zeichenketten als Argument eines Systemaufrufs
-p ProzeßID
schaltet strace zum laufenden Prozeß mit der Prozeßnummer ProzeßID hinzu; ohne Rootprivilegien können Sie nur Ihre eigenen Prozesse verfolgen

 


next up previous contents index
Next: stty Up: Von GNU's, Muscheln und Previous: split

Das Linux Anwenderhandbuch
(C) 1997 LunetIX