Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine Globale Logger-Ablaufverfolgungssitzung zeichnet Ereignisse auf, die während des Startvorgangs auftreten, bevor das System vollständig betriebsbereit ist, z. B. von Gerätetreibern generierte Ereignisse. Es handelt sich um eine reservierte Protokollierungssitzung, die in Windows enthalten ist.
Globale Logger-Ablaufverfolgungssitzungen schreiben immer Nachrichten in ein Ablaufverfolgungsprotokoll. Global Logger unterstützt keine Echtzeit-Trace-Sitzungen oder gepufferte Trace-Sitzungen.
Da der globale Logger frühzeitig im Startprozess des Betriebssystems verfügbar sein muss, wird er mithilfe von Registrierungseinträgen (im Unterschlüssel "HKLM\SYSTEM\CurrentControlSet\Control\WMI\GlobalLogger ") anstelle von Funktionsaufrufen gestartet und konfiguriert. Nach dem Start verhält sich der Globale Logger wie eine normale Event-Tracing-Sitzung.
Die Global Logger-Trace-Sitzung verwendet den reservierten Sitzungsnamen "GlobalLogger". Die Control-GUID wird durch die Konstante GlobalLoggerGuid dargestellt. Sie erstellen eine globale Logger-Ablaufverfolgungssitzung, und starten Sie dann den Computer neu, um die Ablaufverfolgungssitzung zu starten. Auf dem Computer kann jeweils nur eine globale Logger-Ablaufverfolgungssitzung ausgeführt werden.
Verwenden Sie "Tracelog", um eine globale Logger-Ablaufverfolgungssitzung zu erstellen. Er erstellt automatisch den Registrierungsunterschlüssel sowie die Einträge, die Optionen der Ablaufverfolgungssitzung speichern. Die Globale Logger-Ablaufverfolgungssitzung wird gestartet, wenn Sie den Computer neu starten. Weitere Informationen finden Sie unter Tracelog Command Syntax.
Um die Ablaufverfolgungsmeldungen aus einer globalen Logger-Ablaufverfolgungssitzung zu formatieren, verwenden Sie Tracefmt mit system.tmf, einer in der WDK enthaltenen Datei im Nachrichtenformat der Ablaufverfolgung .
Da die globale Logger-Sitzung durch Registrierungseinträge ausgelöst wird, wird sie jedes Mal ausgeführt, wenn die Einträge in der Registrierung angezeigt werden. Um zu verhindern, dass die globale Logger-Sitzung jedes Mal gestartet wird, wenn das System gestartet wird, legen Sie den Wert des Starteintrags auf 0 fest, oder löschen Sie alle Registrierungseinträge.
Sie können eine globale Logger-Ablaufverfolgungssitzung in eine NT Kernel Logger-Ablaufverfolgungssitzung konvertieren, wodurch der Kernel während des Startvorgangs nachverfolgt wird. Weitere Informationen finden Sie unter "Global Logger Session zur Startzeit"
Ablaufverfolgungsanbieter, z. B. Kernelmodustreiber und Benutzermodusanwendungen, können sich bei der globalen Logger-Ablaufverfolgungssitzung anmelden. Auf diese Weise können Sie einen Treiber oder einen anderen Traceanbieter während des Systemstarts verfolgen. Weitere Informationen finden Sie unter Protokollierung bei der globalen Logger-Sitzung
Einschränkungen der globalen Logger-Trace-Session
Die Globale Logger-Ablaufverfolgungssitzung ist sehr nützlich, aber es ist wichtig, ihre Einschränkungen zu beachten:
Sie können jeweils nur eine globale Loggersitzung ausführen.
Die globale Logger-Sitzung sendet keine Aktivierungsbenachrichtigung an Anbieter.
Die Global Logger-Registrierungseinträge verbleiben in der Registrierung und sind wirksam, bis Sie sie manuell zurücksetzen oder löschen, oder verwenden Sie den Befehl "Tracelog -remove ". Bis Sie sie zurücksetzen, wird die globale Logger-Sitzung jedes Mal gestartet, wenn Sie das System starten.
Der Windows ACPI-Logger ist für die globale Logger-Ablaufverfolgungssitzung dauerhaft aktiviert. Die Ablaufverfolgungsmeldungen dieses Loggers werden im Ablaufverfolgungsprotokoll angezeigt.
Wenn eine Standardablaufverfolgungssitzung gestartet wird, während sich ein Treiber bei der globalen Logger-Sitzung anmeldet, wechselt der Treiber und startet die Protokollierung bei der Standardablaufverfolgungssitzung.
Globale Logger-Registrierungseinträge
In der folgenden Tabelle sind die Registrierungseinträge aufgeführt, die die globale Logger-Sitzung konfigurieren. Diese Einträge befinden sich im Unterschlüssel HKLM\SYSTEM\CurrentControlSet\Control\WMI\GlobalLogger . Nur der Starteintrag ist erforderlich.
Zusätzlich zu den Registrierungseinträgen in dieser Tabelle können Sie auch einen ControlGUID-Unterschlüssel unter dem GlobalLogger-Unterschlüssel hinzufügen, um einen Ablaufverfolgungsanbieter( z. B. einen Treiber) darzustellen, der sich bei der globalen Logger-Ablaufverfolgungssitzung anmeldet. Weitere Informationen finden Sie unter Protokollierung bei der globalen Logger-Sitzung.
| Eingabe | Datentyp | BESCHREIBUNG |
|---|---|---|
Starten |
REG_DWORD |
Wenn sie auf 1 (ein) festgelegt ist, wird die globale Logger-Sitzung beim nächsten Start des Systems gestartet. 0 = aus, 1=on |
BufferSize- |
REG_DWORD |
Gibt die Größe jedes Puffers (in KB) an. Der Standardwert ist 0x40 (64 KB). |
Uhrtyp |
REG_DWORD |
Gibt den Zeitgeber an, der für Zeitstempel der Tracing-Nachricht verwendet wird. Ab Windows Vista ist der Standardwert 1. Auf Betriebssystemen vor Windows Vista ist der Standardwert 2. 1 = Leistungsindikatorwert (hohe Auflösung) 2 = Systemzeitgeber 3 = CPU-Zyklusuhr |
EnableKernelFlags |
REG_BINARY |
Konvertiert die globale Logger-Sitzung in eine NT Kernel Logger-Ablaufverfolgungssitzung und gibt die Ereignisse an, die in der Kernelablaufverfolgung enthalten sind. Weitere Informationen finden Sie unter Boot-time Global Logger Session. |
FileCounter |
REG_DWORD |
Speichert die Anzahl der Ereignisablaufverfolgungsprotokolldateien, die von globalen Logger-Sitzungen generiert werden. Das System erhöht diesen Wert, bis er den Wert von FileMax erreicht. Anschließend wird der Wert auf 0 zurückgesetzt. Dieser Zähler verhindert, dass das System eine Globale Logger-Ablaufverfolgungsprotokolldatei überschreibt. |
FileMax |
REG_DWORD |
Gibt die maximale Anzahl der im System zulässigen Ereignisablaufverfolgungsprotokolldateien an. Wenn die Anzahl der Ablaufverfolgungsprotokolle das angegebene Maximum erreicht, beginnt das System, die Protokolle zu überschreiben, beginnend mit der ältesten. Der Standardwert ist 0, was bedeutet, dass kein Maximum vorhanden ist. |
Dateiname |
REG_SZ |
Pfad (optional) und Dateiname der Ereignisablaufverfolgungsprotokolldatei. Der Standardwert ist %SystemRoot%\System32\LogFiles\WMI\trace.log. |
FlushTimer |
REG_DWORD |
Gibt an, wie oft (in Sekunden) die Ablaufverfolgungspuffer zwangsweise geleert werden. Diese erzwungene Spülung erfolgt zusätzlich zur automatischen Spülung, die immer dann auftritt, wenn ein Puffer voll ist, sowie wenn die Ablaufverfolgungssitzung beendet wird. Der Standardwert ist 0. Standardmäßig werden Puffer nur geleert, wenn sie voll sind. Die minimale Spülzeit beträgt 1 Sekunde. |
LogFileMode |
REG_DWORD |
Gibt Protokollsitzungsoptionen an. Wird nur in Windows Vista und höheren Versionen von Windows unterstützt. |
MaximumBuffers |
REG_DWORD |
Gibt die maximale Anzahl von Puffern an, die für die Sitzung zugeordnet werden können. Der Standardwert ist 0x19 (25). |
MaximumFileSize |
REG_DWORD |
Gibt die maximale Größe der Ereignisablaufverfolgungsprotokolldatei an. Standardmäßig gibt es keine maximale Dateigröße. |
MinimumBuffers |
REG_DWORD |
Gibt die Anzahl der Puffer an, die beim Starten der Sitzung zugewiesen wurden. Der Standardwert ist 0x3. |
Status |
REG_DWORD |
Speichert den Rückgabecode vom Versuch, eine Global Logger-Nachverfolgungssitzung zu starten. Wenn die Sitzung nicht gestartet werden konnte, ist der Wert dieses Eintrags ein Win32-Fehlercode. Wenn die Sitzung gestartet ist, ist der Wert dieses Eintrags ERROR_SUCCESS. |
Diese Registrierungseinträge, die Sie erstellen, verbleiben in der Registrierung und sind wirksam, bis Sie sie löschen oder deren Werte ändern. Verwenden Sie daher nach ausführung der globalen Logger-Sitzung den Tracelog-befehl -remove GlobalLogger , um den Wert des Starteintrags auf 0 festzulegen und die anderen globalen Logger-Registrierungseinträge zu löschen. Andernfalls wird die globale Logger-Sitzung jedes Mal ausgeführt, wenn Sie den Computer neu starten, und die resultierende Protokolldatei kann sehr groß werden.
Protokollierungsmoduskonstanten
In der folgenden Tabelle werden die gültigen Werte für den Registrierungseintrag "LogFileMode " im Unterschlüssel "HKLM\System\CurrentControlSet\Control\WMI\GlobalLogger" angezeigt. Dieser Eintrag wird verwendet, um Optionen für eine globale Logger-Ablaufverfolgungssitzung festzulegen, einschließlich derer für Echtzeitablaufverfolgungssitzungen, private Ablaufverfolgungssitzungen, Zirkelprotokollierung und Pufferung (kein Protokoll). Dieser Registrierungseintrag wird nur in Windows Vista und höheren Versionen von Windows unterstützt.
Dieser Registrierungseintrag entspricht dem LogFileMode-Element der EVENT_TRACE_PROPERTIES-Struktur. Die Werte entsprechen den Protokollierungsmoduskonstanten. Die EVENT_TRACE_PROPERTIES Struktur und die Protokollierungsmoduskonstanten werden in der Microsoft Windows SDK-Dokumentation beschrieben.
Diese Tabelle wird hier angezeigt, um die Hexadezimalwerte der Konstanten anzuzeigen. Verwenden Sie diese Werte oder eine Summe dieser Werte, um die Konstante im LogFileMode-Registrierungseintrag darzustellen.
| Wert | Dauerhaft | BESCHREIBUNG |
|---|---|---|
0x0 |
EVENT_TRACE_FILE_MODE_NONE |
Es werden keine Protokolldateien für die Ereignisablaufverfolgung erstellt. |
0x1 |
EVENT_TRACE_FILE_MODE_SEQUENTIAL |
Ereignisablaufverfolgungsprotokolldateien sind sequenziell. |
0x2 |
Ereignisprotokolldatei-Modus: zirkulär |
Ereignisablaufverfolgungsprotokolldateien sind zirkelförmig. |
0x4 |
EVENT_TRACE_FILE_MODE_APPEND (Datei-Anfügemodus für Ereignisprotokollierung) |
Anhängen von Ablaufverfolgungsmeldungen an eine vorhandene Protokolldatei. Dieser Modus ist nur für sequenzielle Dateien gültig. |
0x8 |
EVENT_TRACE_FILE_MODE_NEWFILE |
Erstellen Sie eine neue Ereignisablaufverfolgungsprotokolldatei, wenn die vorhandene Datei den Wert des MaximumFileSize-Eintrags erreicht (siehe tabelle oben). |
0x20 |
EVENT_TRACE_DATEIMODUS_VORZUORDNEN |
Reserviert Platz für die Ereignisablaufverfolgungsprotokolldatei. Nur mit EVENT_TRACE_FILE_MODE_SEQUENTIAL oder EVENT_TRACE_FILE_MODE_CIRCULAR gültig, und nicht gültig mit EVENT_TRACE_FILE_MODE_NEWFILE. |
0x40 |
EVENT_TRACE_NONSTOPPABLE_MODE |
Ein Aufruf von StopTrace beendet die Ablaufverfolgungssitzung nicht. Dieses Feature verhindert, dass Benutzer Ablaufverfolgungssitzungen beenden, die das System zur Diagnose und Optimierung benötigt. |
0x100 |
EVENT_TRACE_ECHTZEITMODUS |
Gibt eine Echtzeitablaufverfolgungssitzung an. |
0x200 |
EVENT_TRACE_DELAY_OPEN_FILE_MODE |
Nur für die interne Verwendung. |
0x400 |
EVENT_TRACE_BUFFERING_MODE |
Ereignisse werden in den Puffern beibehalten. Sie werden niemals in eine Protokolldatei geschrieben oder an einen Trace-Consumer übermittelt. |
0x800 |
EVENT_TRACE_PRIVATE_LOGGER_MODE |
Gibt eine private Ablaufverfolgungssitzung an. Dieses Kennzeichen ist für eine globale Logger-Trace-Sitzung ungültig. |
0x1000 |
EVENT_TRACE_ADD_HEADER_MODE |
Nur für die interne Verwendung. |
0x2000 |
EVENT_TRACE_USE_KBYTES_FOR_SIZE |
Interpretieren Sie den Wert von MaximumFileSize in KB anstelle von MB. |
0x4000 |
EVENT_TRACE_USE_GLOBAL_SEQUENCE |
Generiert globale Sequenznummern für Ablaufverfolgungsmeldungen. Diese Nummern sind für alle Tracing-Sitzungen auf dem Computer eindeutig. Standardmäßig weisen Ablaufverfolgungsmeldungen keine Sequenznummern auf. |
0x8000 |
EVENT_TRACE_USE_LOCAL_SEQUENCE (Verwenden der lokalen Sequenz für Ereignisspuren) |
Generiert lokale Sequenznummern für Ablaufverfolgungsmeldungen. Diese Zahlen sind innerhalb der Ablaufverfolgungssitzung eindeutig. Standardmäßig weisen Ablaufverfolgungsmeldungen keine Sequenznummern auf. |
0x10000 |
EVENT_TRACE_RELOG_MODE |
Nur für die interne Verwendung. |
0x80000 |
EVENT_TRACE_KD_FILTER_MODE |
Leitet die Ablaufverfolgungsmeldungen an den Kerneldebugger um und legt die Größe des Ablaufverfolgungspuffers auf 3 KB fest, die maximale Puffergröße für den Debugger. |
0x1000000 |
EVENT_TRACE_MODE_RESERVED |
Ungültig für eine globale Logger-Trace-Sitzung. |
0x01000000 |
EVENT_TRACE_USE_PAGED_MEMORY |
Weisen Sie Ablaufverfolgungssitzungspuffer aus dem auslagerbaren Speicher zu. Standardmäßig werden die Puffer aus nicht ausgelagertem Speicher zugeordnet. |