dmp_eaddr, dmp_context, dmp_tid, dmp_pid, dmp_errbuf, dmp_mtrc, dmp_systrace und dmp_ct Kernel Services

Zweck

Stellt Funktionen für allgemeine Speicherauszugstasks bereit

Syntax

#include <sys/dump.h>
kerrno_t dmp_eaddr (flags, anchor, name, addr, sz)
long flags;
void *anchor;
char *name;
long addr;
long sz;

kerrno_t dmp_context (flags, anchor, name, ctx_type, p2)
long flags;
void *anchor;
char *name;
long ctx_type;
long p2;

kerrno_t dmp_tid (flags, anchor, name, tid, unused)
long flags;
void *anchor;
char *name;
tid_t tid;
void *unused;

kerrno_t dmp_pid (flags, anchor, name, pid, unused)
long flags;
void *anchor;
char *name;
pid_t pid;
void *unused;

kerrno_t dmp_errbuf (flags, anchor, name, erridx, unused)
long flags;
void *anchor;
char *name;
ulong erridx;
long unused;

kerrno_t dmp_mtrc (flags, anchor, name, com_sz, rare_sz)
long flags;
void *anchor;
char *name;
size_t com_sz;
size_t rare_sz;

kerrno_t dmp_systrace (flags, anchor, name, sz, unused)
long flags;
void *anchor;
char *name;
long sz;
long unused;

kerrno_t dmp_ct (flags, anchor, name, rasb, sz)
long flags;
void *anchor;
char *name;
ras_block_t rasb;
size_t sz;

Parameter

Element Beschreibung
Anker Verweist auf die zugeordnete ldmp_parms_t -Datenstruktur oder auf eine ldmp_prepare_t -Datenstruktur
Flags Der Parameter Flags kann einen oder mehrere der folgenden Werte haben:
DCF-ZUERST
Gibt an, dass zuerst ein Speicherauszug dieser Komponente erstellt werden soll. Normalerweise werden die Komponenten in der angegebenen Reihenfolge ausgegeben.
Anmerkung: Die letzte Komponente, für die ein Speicherauszug erstellt werden soll, ist die erste Komponente, für die ein Speicherauszug erstellt wird.
DCF_LEVEL0 - DCF_LEVEL9
Erstellt einen Speicherauszug der Komponente auf der angegebenen Detailstufe (0 bis 9). Wenn keines dieser Flags gesetzt ist, wird für die Komponente ein Speicherauszug mit CD_LVL_NORMAL, Detailstufe 3 erstellt.
Name Gibt den Namen der Speicherauszugstabelle der Pseudokomponente im Speicherauszug an. Der Parameter Name ist nur für den DMP_E-Adresse -Kernel-Service gültig. Sie müssen den Parameter Name für die Kernel-Services dmp_kontext, DMP_TID, dmp_pid, dmp_errbuf, dmp_mtrc, DMP_Systraceund DMP_CT auf NULL setzen.
Nicht verwendet Sie müssen diesen Parameter mit NULL oder 0 angeben.
Die übrigen Parameter sind pseudokomponentenabhängig: DMP_E-AdresseAdresse Gibt die effektive Adresse des Speichers an, für den ein Speicherauszug erstellt werden soll
sz Gibt die Länge des Speichers in Byte an
dmp_kontextctx_typ Gibt den Kontext für den Speicherauszug an. Es kann einer der folgenden Werte sein:
DMP_CTX_CUR
Erstellt einen Speicherauszug des aktuellen Kontexts.
DMP_CTX_PREV
Zum Erstellen eines Speicherauszugs für den vorherigen Kontext.
DMP_CTX_SPEC
Speicherauszug des mit dem Parameter p2 angegebenen Kontexts erstellen. Der Parameter p2 muss die Adresse der ksmtsave -Struktur für den Kontext enthalten.
DMP_CTX_RWA
Speicherauszug des Kontexts aus dem bereitgestellten Wiederherstellungsarbeitsbereich erstellen. Der Parameter p2 muss die Adresse des Wiederherstellungsarbeitsbereichs (rwa) enthalten.
DMP_CTX_BID oder DMP_CTX_LCPUID
Erstellt einen Speicherauszug des Kontexts für den im Parameter p2 angegebenen Prozessor. Sie können den Prozessor entweder durch die Bindungs-ID oder durch die logische ID angeben.
DMP_CTX_TID
Um einen Speicherauszug des mit dem Parameter p2 angegebenen Threadkontexts zu erstellen, der die Thread-ID enthalten muss.
p2 Gibt die Adresse des Kontexts, die ID des logischen Prozessors, die Bindungs-ID oder die Thread-ID abhängig vom Wert des Parameters ctx_typ an.
DMP_TIDTid Gibt die ID des Threads an, für den ein Speicherauszug erstellt werden soll
dmp_pidPid Gibt die ID des Prozesses an, für den ein Speicherauszug erstellt werden soll
dmp_errbufErridx Gibt die Kernel- Workload-Partition (WPAR) -ID des Fehlerprotokollierungspuffers der Partition an, für den ein Speicherauszug erstellt werden soll. Der Wert 0 steht für den globalen Puffer.
dmp_mtrcKom_sz Gibt die Menge an gemeinsamen Speicherauszügen an.
Rare_sz Gibt die Menge der seltenen Daten an, für die ein Speicherauszug erstellt wird
DMP_SystraceSZ Gibt die Menge der Systemtracedaten für den dump.If der Parameter sz auf 0 gesetzt ist, wird ein Speicherauszug aller gepufferten Tracedaten bis zu der Menge erstellt, die für die Detailstufe zulässig ist.
DMP_CTRasb Gibt den ras_block_t-Wert der Komponente an, für deren Komponententrace ein Speicherauszug erstellt werden soll.
sz Gibt das Datenvolumen an, für das ein Speicherauszug erstellt werden soll Wenn der Parameter SZ auf 0 gesetzt ist, wird ein Speicherauszug aller Tracedaten der Komponenten bis zum Grenzwert für die Detailstufe erstellt.

Beschreibung

Der DMP_E-Adresse -Kernel-Service erstellt Speicherauszüge nach effektiver Adresse.

Der dmp_kontext -Kernel-Service erstellt einen Speicherauszug des angegebenen Threadkontextes.

Der DMP_TID -Kernel-Service erstellt einen Speicherauszug der Kerneldaten für einen Thread.

Der dmp_pid -Kernel-Service erstellt einen Speicherauszug der Kerneldaten für einen Prozess.

Der dmp_errbuf -Kernel-Service erstellt einen Speicherauszug des Fehlerprotokollierungspuffers für die angegebene Partition.

Der dmp_mtrc -Kernel-Service gibt Einträge aus den schlanken Speichertracepuffern aus.

Die DMP_Systrace erstellt einen Speicherauszug der Einträge aus den Systemtracepuffern.

Die DMP_CT erstellt einen Speicherauszug der Komponententraceeinträge.

Ausführungsumgebung

Die Kernel-Services DMP_E-Adresse, dmp_kontext, DMP_TID, dmp_pid, dmp_errbuf, dmp_mtrc, DMP_Systraceund DMP_CT können über die Prozess -oder Unterbrechung -Umgebung aufgerufen werden.

Rückgabewerte

Element Beschreibung
0 Erfolgreiche Ausführung.
EINVAL_DMP_PSEUDO Gibt an, dass der Namensparameter ungültig ist.
EINVAL_DMP_CHECK_ANCHOR Gibt an, dass kein Anker angegeben wurde oder der Ankerparameter nicht auf einen Bereich des Typs ldmp_parms_t oder ldmp_prepare_t verweist.
EFAULT_DMP_CHECK_ANCHOR Gibt an, dass der durch den Parameter Anker angegebene Speicher ungültig ist.
EINVAL_RAS_DMP_COMPSPEC_FLAGS Gibt an, dass die Flagspezifikation ungültig ist. Dieser Fehler tritt auch auf, wenn das Flag DCF-ZUERST angegeben wird, wenn der Anker ein ldmp_prepare_t -Datenelement ist.
EINVAL_RAS_DMP_COMPSPEC_NOADD Gibt an, dass diesem Speicherauszug keine Komponenten hinzugefügt werden können
ENOMEM_RAS_DMP_COMPSPEC Gibt an, dass der Speicher nicht ausreicht.
EINVAL_RAS_DMP_EADDR Gibt an, dass der Parameter flags ungültig ist.
EINVAL_RAS_DMP_KONTEXT Gibt an, dass der Parameter des dmp_kontext -Kernel-Service ungültig ist. Dies wird auch zurückgegeben, wenn der Parameter p2 nicht verwendet wird, aber nicht NULL ist.
ENOENT_RAS_DMP_CONTEXT_CTX_NOTFOUND Zeigt an, dass der angegebene Kontext nicht gefunden wurde.
EFAULT_RAS_DMP_KONTEXT Gibt an, dass der Speicher, auf den der angegebene Kontextzeiger verweist, ungültig ist.
EINVAL_RAS_DMP_TID Gibt an, dass der Parameter des DMP_TID -Kernel-Service ungültig ist.
EINVAL_RAS_DMP_PID Gibt an, dass der Parameter des dmp_pid -Kernel-Service ungültig ist.
EINVAL_RAS_DMP_ERRBUF Gibt an, dass der Parameter des dmp_errbuf -Kernel-Service ungültig ist.
ECHRNG_RAS_DMP_ERRBUF Gibt an, dass der Parameter Erridx außerhalb des gültigen Bereichs liegt.
EINVAL_RAS_DMP_MTRC Gibt an, dass der Parameter des dmp_mtrc -Kernel-Service ungültig ist.
ENOENT_RAS_DMP_MTRC Gibt an, dass der schlanke Hauptspeichertrace nicht aktiv ist.
EINVAL_RAS_DMP_SYSTRACE Gibt an, dass der Parameter des DMP_Systrace -Kernel-Service ungültig ist.
ENOENT_RAS_DMP_SYSTRACE Gibt an, dass der Systemtrace nicht aktiv ist.
EINVAL_RAS_DMP_CT Gibt an, dass der Parameter des DMP_CT -Kernel-Service ungültig ist.
ENOMEM_RAS_DMP_CT Gibt an, dass der Speicher nicht ausreicht.
EINVAL_RAS_DMP_CT_GETPATH Gibt an, dass die angegebene Komponente ungültig ist.
EINVAL_RAS_DMP_CT_LOOKUP Zeigt an, dass ein Fehler aufgetreten ist, während diese Komponente validiert wurde
ENOTSUP_RAS_DMP_CT Gibt an, dass die angegebene Komponente keinen Komponententrace hat.

Zugehörige Informationen

Den Livespeicherauszug -Kernel-Service und den dmp_kernext -Kernel-Service