Befehl sodebug

Zweck

Legt das Socket-Debug-Flag (Socketoption SO_DEBUG) und die Tracestufe für Sockets fest bzw. hebt die Festlegung dieser auf.

Syntax

sodebug [ -h ] [ -l [ Ebene ] ] [ -p Pid | -s Sockadr [ -t Typ ] ]

Beschreibung

Der Befehl sodebug legt das Socket-Debug-Flag und die Tracestufe für aktive Sockets fest, hebt die Festlegung auf oder listet sie auf.

Wenn das Socket-Debug-Flag (auch bekannt als Socketoption SO_DEBUG ) für einen Socket gesetzt ist, können die Ereignisse auf diesem Socket mit dem Befehl trace verfolgt werden.

Mit der Option -l können Sie das Socket-Debug-Flag für Sockets festlegen, die bereits auf einem System vorhanden sind. Die Option -l legt auch die Tracestufe für einen bestimmten Socket fest.

Wenn der Befehl sodebug ohne Optionen ausgeführt wird, werden der Status des Socket-Debug-Flags und die Tracestufe für jedes aktive Socket angezeigt.

Die Befehle trace und trpt erfassen Informationen auf der Basis der Tracestufe.

In der folgenden Tabelle sind die Informationen beschrieben, die basierend auf der Tracestufe für die Trace-Hook-ID 25A (TCPDBG) erfasst werden:
  min normal detail
tcp_debug-Daten (td_time, td_act, td_ostate, td_tcb, family und td_req)   X X
tcpip-Header   X X
tcpcb-Adresse   X X
Alle tcpcb-Felder     X
Socketadresse   X X
Alle Socketfelder     X
Sie können auch, wie im Folgenden beschrieben, das Socket-Debug-Flag und die Tracestufe festlegen und deren Festlegung aufheben:
  1. Der folgende Befehl aktiviert das Socket-Debug-Flag für alle Sockets, die nachfolgend auf dem System erstellt werden:
    no -o sodebug=1
  2. Sie können |DEBUG[=Stufe] im Feld "wait/nowait" eines Service in der Datei "inetd.conf" angeben, um das Socket-Debugging für einen bestimmten Service zu aktivieren. Die festlegbaren Tracestufen sind min, normal und detail. Wenn keine Stufe angegeben ist, wird die Standardstufe normal verwendet.
  3. Sie können das Socket-Debugging für alle nachfolgenden Sockets aktivieren oder inaktivieren, die von einem Prozess erstellt werden, indem Sie den Parameter sodebug_env des Befehls no verwenden und export SODEBUG=level in einer Prozessumgebung angeben. Die festlegbaren Tracestufen sind min, normal und detail.

Flags

Element Beschreibung
-H Zeigt die Hilfe für den Befehl sodebug an.
-l [Stufe] Gibt die Tracestufe an. Die gültigen Werte für "Stufe" sind none, min, normal und detail. Wenn kein Level angegeben ist, ist das Standard-Trace-Level normal.
-p PID Gibt die Prozess-ID eines Prozesses an.
-s Socke-Adresse Gibt ein Socket mit seiner Socketadresse, der inpcb-Adresse des Sockets oder der tcpcb-Adresse des Sockets an.
-t Typ Gibt den mit der Option -s Socketadresse angegebenen Adresstyp an. Die gültigen Werte sind socket, inpcb und tcpcb. Der Standardwert ist socket.

Sicherheit

Sie müssen Rootberechtigung haben, um den Befehl sodebug ausführen zu können.

Beispiele

  1. Geben Sie Folgendes ein, um das Debug-Flag und die Socket-Tracestufe für Socket f100090002d0a800 aufzulisten:
    sodebug -s f100090002d0a800
    Die Ausgabe gleicht dem folgenden Beispiel:
    socket address : f100090002d0a800 , sodebug flag : 0 , trace level : none(0)
  2. Geben Sie Folgendes ein, um die Tracestufe auf "normal" und das Debug-Flag auf 1 zu setzen:
    sodebug -s f100090002d0a800 -l normal
    Die Ausgabe gleicht dem folgenden Beispiel:
    Setting new values for trace level and debug flag
    socket address : f100090002d0a800 , sodebug flag : 1 , trace level : normal(3)