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.
Wenn Sie ein Analyseerweiterungs-Plug-In schreiben, schreiben Sie auch eine Metadatendatei, die die Situationen beschreibt, in denen Ihr Plug-In aufgerufen werden soll. Wenn der Befehl "!analysedebugger " ausgeführt wird, werden Metadatendateien verwendet, um zu bestimmen, welche Plug-Ins geladen werden sollen.
Erstellen Sie eine Metadatendatei mit demselben Namen wie Ihr Analyseerweiterungs-Plug-in und der Erweiterung ".alz". Wenn ihr Analyseerweiterungs-Plug-In beispielsweise MyAnalyzer.dllbenannt ist, muss die Metadatendatei "MyAnalyzer.alz" heißen. Platzieren Sie die Metadatendatei im selben Verzeichnis wie Ihr Analyseerweiterungs-Plug-In.
Eine Metadatendatei für ein Analyseerweiterungs-Plug-In ist eine ASCII-Textdatei, die Schlüsselwertpaare enthält. Schlüssel und Werte werden durch Leerzeichen getrennt. Ein Schlüssel kann ein beliebiges Nicht-Leerzeichen aufweisen. Bei Schlüsseln wird die Groß-/Kleinschreibung nicht beachtet.
Nach dem Schlüssel und dem folgenden Leerzeichen beginnt der entsprechende Wert. Ein Wert kann eines der folgenden Formulare aufweisen.
Jeder Satz von Zeichen bis zum Ende der Zeile. Dieses Formular funktioniert für Werte, die keine Zeilenumbrüche enthalten.
Wichtig Wenn der letzte Wert in der Metadatendatei einen Wert dieses Formulars aufweist, muss die Zeile mit einem Zeilenumbruchzeichen enden.
Jeder Satz von Zeichen zwischen geschweiften Klammern { }. Das Formular funktioniert für Werte, die Neuzeilenzeichen enthalten.
Eine Zeile, die mit #beginnt, ist ein Kommentar und wird ignoriert. Kommentare dürfen nur an Stellen beginnen, an denen Schlüssel erwartet werden.
Sie können die folgenden Schlüssel in einer Metadatendatei verwenden.
| Schlüssel | BESCHREIBUNG |
|---|---|
| PluginId | Zeichenfolge – Identifiziert das Plug-In. |
| DebuggeeClass | Zeichenkette – Mögliche Werte sind "Kernel" und "User". Gibt an, dass das Plug-In daran interessiert ist, nur Kernelmodusfehler oder nur Benutzermodusfehler zu analysieren. |
| BugCheckCode | 32-Bit-Fehlerüberprüfungscode – Gibt an, dass das Plug-In daran interessiert ist, diesen Fehlerüberprüfungscode zu analysieren. Eine einzelne Metadatendatei kann mehrere Fehlerüberprüfungscodes angeben. |
| ExceptionCode | 32-Bit-Ausnahmecode – Gibt an, dass das Plug-In daran interessiert ist, diesen Ausnahmecode zu analysieren. Eine einzelne Metadatendatei kann mehrere Ausnahmecodes angeben. |
| ExecutableName | String – Gibt an, dass das Plug-In nur an Sitzungen interessiert ist, in denen dies die laufende ausführbare Datei des zu analysierenden Prozesses ist. Eine einzelne Metadatendatei kann mehrere ausführbare Namen angeben. |
| Bildname | String - Gibt an, dass das Plug-In nur an Sitzungen interessiert ist, in denen die Standardanalyse dieses Bild (dll, sys oder exe) als fehlerhaft betrachtet. Das Plug-In wird aufgerufen, nachdem die Analyse festgestellt hat, welches Bild fehlerhaft ist. Eine einzelne Metadatendatei kann mehrere Bildnamen angeben. |
| MaxTagCount | Ganze Zahl : Die maximale Anzahl von benutzerdefinierten Tags, die das Plug-In benötigt. Benutzerdefinierte Tags sind andere Tags als die in extsfns.h definierten Tags. |
Beispielmetadatendateien
Die folgende Metadatendatei beschreibt ein Plug-In, das daran interessiert ist, Fehlerüberprüfungscode 0xE2 zu analysieren. (Erinnern Sie sich daran, dass die letzte Zeile mit einem Zeilenumbruchzeichen enden muss.)
PluginId MyPlugin
DebuggeeClass Kernel
BugCheckCode 0xE2
Die folgende Metadatendatei beschreibt ein Plug-In, das daran interessiert ist, Fehlerüberprüfungen 0x8, 0x9 und 0xA zu analysieren, wenn MyDriver.sys als das fehlerhafte Modul betrachtet wird.
PluginId MyPlugin
DebuggeeClass Kernel
BugCheckCode 0x8
BugCheckCode 0x9
BugCheckCode 0xA
ImageName MyDriver.sys
Die folgende Metadatendatei beschreibt ein Plug-In, das daran interessiert ist, Ausnahmecode 0xC0000005 zu analysieren, wenn MyApp.exe die ausgeführte ausführbare Datei des zu analysierenden Prozesses ist. Außerdem kann das Plug-In bis zu drei benutzerdefinierte Tags erstellen.
PluginId MyPlugin
DebuggeeClass User
ExceptionCode 0xC0000005
ExecutableName MyApp.exe
Die Debugtools für Windows verfügen über ein Beispiel, mit dem Sie ein Debuggererweiterungsmodul mit dem Namen dbgexts.dllerstellen können. Dieses Erweiterungsmodul implementiert mehrere Debuggererweiterungsbefehle, kann aber auch als Analyseerweiterungs-Plug-In dienen; d. h., sie exportiert eine _EFN_Analyze Funktion. Hier ist eine Metadatendatei, die dbgexts.dll als Analyseerweiterungs-Plug-In beschreibt.
PluginId PluginSample
DebuggeeClass User
ExceptionCode 0xc0000005
ExecutableName cdb.exe
ExecutableName windbg.exe
#
# Custom tag descriptions
#
TagDesc 0xA0000000 SAMPLE_PLUGIN_DEBUG_TEXT {Sample debug help text from plug-in analysis}
#
Siehe auch
Schreiben eines Analysis Extension Plug-Ins zum Erweitern von !analyze