Delen via


Metagegevensbestanden voor invoegtoepassingen voor analyse-extensies

Wanneer u een invoegtoepassing voor de analyse-extensie schrijft, schrijft u ook een metagegevensbestand waarin de situaties worden beschreven waarin u uw invoegtoepassing wilt aangeroepen. Wanneer de opdracht !analyze debugger wordt uitgevoerd, worden metagegevensbestanden gebruikt om te bepalen welke invoegtoepassingen moeten worden geladen.

Maak een metagegevensbestand met dezelfde naam als uw analyse-extensie-invoegtoepassing en met de extensie .alz. Als uw invoegtoepassing voor de analyse-extensie bijvoorbeeld de naam MyAnalyzer.dllheeft, moet uw metagegevensbestand MyAnalyzer.alz worden genoemd. Plaats het metagegevensbestand in dezelfde map als de invoegtoepassing voor de analyse-extensie.

Een metagegevensbestand voor een invoegtoepassing voor de analyse-extensie is een ASCII-tekstbestand dat sleutel-waardeparen bevat. Sleutels en waarden worden gescheiden door witruimte. Een sleutel kan elk niet-witruimteteken bevatten. Sleutels zijn niet hoofdlettergevoelig.

Na de sleutel en de volgende witruimte begint de bijbehorende waarde. Een waarde kan een van de volgende formulieren hebben.

  • Elke set tekens aan het einde van de regel. Dit formulier werkt voor waarden die geen regelafbrekingstekens bevatten.

    Belangrijk Als de laatste waarde in het metagegevensbestand een waarde van dit formulier heeft, moet de regel eindigen met een nieuw regelteken.

  • Een set tekens tussen accolades { }. Het formulier werkt voor waarden die nieuwe regeltekens bevatten.

Een regel die begint met # is een opmerking en wordt genegeerd. Opmerkingen kunnen alleen beginnen waar sleutels worden verwacht.

U kunt de volgende sleutels gebruiken in een metagegevensbestand.

Sleutelcode Beschrijving
PluginId Tekenreeks - Identificeert de invoegtoepassing.
DebuggeeClass Tekenreeks: mogelijke waarden zijn Kernel en Gebruiker. Geeft aan dat de invoegtoepassing geïnteresseerd is in het analyseren van alleen kernelmodusfouten of alleen fouten in de gebruikersmodus.
BugCheckCode 32-bits code voor foutcontrole: geeft aan dat de invoegtoepassing geïnteresseerd is in het analyseren van deze code voor foutcontrole. Eén metagegevensbestand kan meerdere codes voor bugcontrole opgeven.
Uitzonderingscode 32-bits uitzonderingscode: geeft aan dat de invoegtoepassing geïnteresseerd is in het analyseren van deze uitzonderingscode. Eén metagegevensbestand kan meerdere uitzonderingscodes opgeven.
Uitvoerbare naam Tekenreeks- Geeft aan dat de invoegtoepassing alleen geïnteresseerd is in sessies waarin dit het actieve uitvoerbare bestand is van het proces dat moet worden geanalyseerd. Eén bestand met metagegevens kan meerdere uitvoerbare namen opgeven.
Afbeeldingsnaam Tekenreeks (String): geeft aan dat de invoegtoepassing alleen geïnteresseerd is in sessies waarbij de standaardanalyse deze bestanden (dll, sys of exe) als foutief beschouwt. De invoegtoepassing wordt aangeroepen nadat de analyse heeft vastgesteld welke afbeelding een fout heeft. Eén metagegevensbestand kan meerdere afbeeldingsnamen opgeven.
MaxTagCount Geheel getal: het maximum aantal aangepaste tags dat de invoegtoepassing nodig heeft. Aangepaste tags zijn andere tags dan de tags die zijn gedefinieerd in extsfns.h.

Voorbeeld van metagegevensbestanden

In het volgende metagegevensbestand wordt een invoegtoepassing beschreven die geïnteresseerd is in het analyseren van code voor foutcontrole 0xE2. (Vergeet niet dat de laatste regel moet eindigen met een nieuw regelteken.)

PluginId      MyPlugin
DebuggeeClass Kernel
BugCheckCode  0xE2

In het volgende metagegevensbestand wordt een invoegtoepassing beschreven die geïnteresseerd is bij het analyseren van bugchecks 0x8, 0x9 en 0xA indien MyDriver.sys als de module die het probleem veroorzaakt wordt beschouwd.

PluginId      MyPlugin
DebuggeeClass Kernel
BugCheckCode  0x8
BugCheckCode  0x9
BugCheckCode  0xA
ImageName     MyDriver.sys

In het volgende metagegevensbestand wordt een invoegtoepassing beschreven die geïnteresseerd is in het analyseren van uitzonderingscode 0xC0000005 als MyApp.exe het actieve uitvoerbare bestand is van het proces dat wordt geanalyseerd. Bovendien kan de invoegtoepassing zo veel als drie aangepaste tags maken.

PluginId        MyPlugin
DebuggeeClass   User
ExceptionCode   0xC0000005
ExecutableName  MyApp.exe

Hulpprogramma's voor foutopsporing voor Windows bevat een voorbeeld dat u kunt gebruiken om een extensiemodule voor foutopsporingsprogramma's met de naam dbgexts.dllte maken. Deze extensiemodule implementeert verschillende opdrachten voor foutopsporingsprogramma-extensies, maar kan ook fungeren als een invoegtoepassing voor analyse-extensies; dat wil gezegd, er wordt een _EFN_Analyze-functie geëxporteerd. Hier volgt een metagegevensbestand dat dbgexts.dll beschrijft als een invoegtoepassing voor de analyseextensie.

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}
#

Zie ook

Een invoegtoepassing voor analyse-extensies schrijven om !analyze uit te breiden

_EFN_Analyze

!analyseren