Befehl "kdb"
Zweck
Ermöglicht die Untersuchung eines System- oder Livespeicherauszugs oder eines aktiven Kernels.
Syntax
kdb -h
kdb [ -c CommandFile ] [ -cp ] [ -i HeaderFile ] [ -l ] [ -script ] -w -u KernelFile
kdb [ -c CommandFile ] [ -cp ] [ -i HeaderFile ] [ -l ] [ -script ] [ -v ] [ SystemImageFile [ KernelFile [KernelModule ... ]]]
kdb [ -c CommandFile ] [ -cp ] [ -i HeaderFile ] [ -l ] [ -script ] [ -v ] [ -m SystemImageFile ] [ -u KernelFile ] [ -k KernelModule ]
Beschreibung
Der Befehl kdb ist ein interaktives Dienstprogramm zum Überprüfen eines Betriebssystemimage oder eines aktiven Kernels. Der Befehl kdb interpretiert und formatiert Steuerstrukturen im System und stellt verschiedene Funktionen für die Untersuchung eines Speicherauszugs bereit.
kdbkdb SystemImageFileWenn der Befehl "kdb" gestartet wird, sucht er im Ausgangsverzeichnis udn im aktuellen Arbeitsverzeichnis des Benutzers nach einer Datei .kdbinit. Wenn eine " .kdbinit -Datei an einem dieser Orte existiert, führt der " kdb -Befehl alle Befehle in der Datei aus, als ob sie an der interaktiven kdb-Eingabeaufforderung eingegeben worden wären. Wenn eine Datei .kdbinit an beiden Positionen vorhanden ist, wird zuerst die Datei im Ausgangsverzeichnis und anschließend die Datei im aktuellen Arbeitsverzeichnis verarbeitet (sofern das aktuelle Verzeichnis nicht das Ausgangsverzeichnis ist. In diesem Fall wird die Datei nur einmal verarbeitet.)
Flags
| Element | Beschreibung |
|---|---|
| -c CommandFile | Gibt einen anderen Namen für die Startscriptdatei an. Wenn diese Option verwendet wird, sucht kdb nach dem Parameter CommandFile in den Verzeichnissen home und current anstelle der Datei ' .kdbinit. |
| -cp | Bewirkt, dass kdb jeden Befehl in den Startscriptdateien ausgibt, wenn der Befehl ausgeführt wird. Dies kann zur Fehlersuche in den ' .kdbinit -Dateien oder in jeder anderen Datei, die mit dem ' -c -Flag angegeben wurde, verwendet werden. Jeder Befehl wird mit einem Pluszeichen (+) davor ausgegeben. |
| -h | Zeigt eine kurze Hilfenachricht zur Verwendung des Befehls in der Befehlszeile und eine kurze Auflistung der verfügbaren Befehlszeilenoptionen an. |
| -i HeaderFile | Macht alle im Parameter HeaderFile definierten C-Strukturen für die Verwendung mit dem Unterbefehl kdb ' print verfügbar. Für diese Option muss ein C-Compiler auf dem System installiert sein. Wenn die HeaderFile zusätzliche ' .h -Dateien zum Kompilieren benötigt, müssen diese möglicherweise auch mit separaten ' -i angegeben werden. |
| -k Modul | Weist den Befehl ' kdb an, den angegebenen Modul-Parameter als zusätzliches Kernel-Modul zu verwenden, um Symboldefinitionen aufzulösen, die nicht im Kernel selbst zu finden sind. Die Verwendung dieser Option ist gleichbedeutend mit der Angabe des Kernelmoduls mit dem Parameter KernelModule. |
| -l | Deaktiviert den Inline-Pager (d.h. die Eingabeaufforderung ' more (^C to quit) ? ) in kdb. In diesem Fall hat der Unterbefehl ' set scroll in kdb keine Wirkung, und der Inline-Pager ist unabhängig von der Einstellung des Bildlaufs immer deaktiviert. |
| -m Bild | Weist den Befehl ' kdb an, den angegebenen Image-Parameter als System-Image-Datei zu verwenden. Die Verwendung dieser Option ist gleichbedeutend mit der Angabe der Systemabbilddatei mit dem Parameter SystemImageFile. |
| -script | Deaktiviert den Inline-Pager (d.h. die ' more (^C to quit) ? ) und schaltet den Ausdruck der meisten Statusinformationen beim Start von kdb aus. Diese Option erleichtert das Parsen der Ausgabe des Befehls ' kdb durch Skripte und andere Programme, die als Frontend für kdb dienen. |
| -u Kernel | Weist den Befehl ' kdb an, den angegebenen Kernel als Kernel-Datei für die Auflösung von Symboldefinitionen zu verwenden. Die Verwendung dieser Option ist gleichbedeutend mit der Angabe des Kernels mit dem Parameter KernelFile. |
| -v | Zeigt eine Liste aller Komponentenspeicherauszugstabellen (CDT, Component Dump Tabele9 in der Speicherauszugsdatei an, wenn der Befehl kdb gestartet wird. In CDTs listen die Speicherbereiche auf, die tatsächlich im Speicherauszug enthalten sind. Wenn der Befehl kdb auf einem Livesystem verwendet wird, wird diese Option ignoriert. |
| -w | Untersucht eine Kerneldatei direkt anstelle eines Systemimage. Alle ' kdb, die normalerweise Speicherplätze aus der Systemabbilddatei anzeigen, lesen stattdessen Daten direkt aus KernelFile. Unterbefehle, die in den Speicher schreiben, sind nicht verfügbar. |
Parameter
| Element | Beschreibung |
|---|---|
| KernelFile | Gibt den AIX an, den der Befehl ' kdb verwendet, um Kernel-Symboldefinitionen aufzulösen. Es mus seine Kerneldatei verfügbar sein. Wenn Sie einen Speicherauszug untersuchen, muss die Kerneldatei mit dem Kernel übereinstimmen, mit dem der System- oder Livespeicherauszug erstellt wurde. Der Standardwert ist /unix. |
| KernelModule | Gibt die Dateinamen aller zusätzlichen Kernelmodule an, die kdb verwendet, um Symboldefinitionen aufzulösen, die nicht in der Kerneldatei selbst enthalten sind. |
| SystemImageFile | Gibt die Datei an, die das Systemimage enthält. Der Wert kann einen System- oder Livespeicherauszug, den Namen einer Speicherauszugseinheit oder die Gerätedatei /dev/pmem angeben. Der Standardwert ist /dev/pmem. |
Beispiele
Die folgenden Beispiele veranschaulichen Aufrufoptionen für den Befehl kdb:
- Geben Sie Folgendes ein, um den Befehl kdb mit dem Standardsystemimage und den Kernel-Image-Dateien aufzurufen:
kdbDas Programm ' kdb gibt einen (0)> Prompt zurück und wartet auf die Eingabe eines Unterbefehls.
- Um den Befehl ' kdb mit einer Dump-Datei namens ' /var/adm/ras/vmcore.0 und der UNIX-Kernel-Datei namens ' /unix aufzurufen, geben Sie Folgendes ein:
kdb /var/adm/ras/vmcore.0 /unixDas Programm ' kdb gibt einen (0)> Prompt zurück und wartet auf die Eingabe eines Unterbefehls.
- Geben Sie Folgendes ein, um den Befehl kdb mit der Livespeicherauszugsdatei /var/adm/ras/livedump/trc1.nocomp.200705222009.00 und der Kerneldatei /unix aufzurufen:
kdb /var/adm/ras/livedump/trc1.nocomp.200705222009.00Hinweis: Die Standard-Kerneldatei ist " /unix. Anders als bei einem Systemspeicherauszug sind in einem Livespeicherauszug nur ausgewählte Daten vorhanden. Beispielsweise sind nur die Kernel-Thread-Daten für Threads verfügbar, die explizit in den Speicherauszug eingeschlossen werden.
Dateien
| Element | Beschreibung |
|---|---|
| /usr/sbin/kdb | Enthält den Befehl " kdb. |
| /dev/pmem | Die Standardsystemimagedatei. |
| /unix | Die Standardkerneldatei. |