Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Při tvorbě analytického plug-inu také vytvoříte soubor metadat, který popisuje situace, při nichž chcete, aby byl plug-in vyvolán. Když se spustí příkaz !analyze debugger, použije soubory metadat k určení, které moduly plug-in se mají načíst.
Vytvořte soubor metadat, který má stejný název jako vaše rozšíření plug-in pro analýzu a příponu .alz. Pokud má například modul plug-in rozšíření analýzy název MyAnalyzer.dll, váš soubor metadat musí mít název MyAnalyzer.alz. Umístěte soubor metadat do stejného adresáře jako modul plug-in s příponou analýzy.
Soubor metadat pro rozšíření analýzy plug-inu je textový soubor ve formátu ASCII, který obsahuje páry klíč-hodnota. Klíče a hodnoty jsou oddělené prázdným znakem. Klíč může mít jakýkoli jiný než prázdný znak. Klíče nerozlišují malá a velká písmena.
Za klíčem a následujícím prázdným znakem začíná odpovídající hodnota. Hodnota může mít jeden z následujících formulářů.
Jakákoli sada znaků až do konce řádku. Tento formulář funguje pro hodnoty, které neobsahují žádné znaky nového řádku.
Důležité Pokud má poslední hodnota v souboru metadat hodnotu tohoto formátu, musí řádek končit znakem nového řádku.
Libovolná sada znaků mezi složenými závorkami { }. Formulář funguje pro hodnoty, které obsahují znaky pro nový řádek.
Řádek začínající znakem # je komentář a je ignorován. Komentáře mohou začínat pouze tam, kde se očekávají klíče.
V souboru metadat můžete použít následující klíče.
| Klíč | Popis |
|---|---|
| PluginId | Řetězec – identifikuje modul plug-in. |
| DebuggeeClass | Řetězec – Možné hodnoty jsou „Jádro“ a „Uživatel“. Označuje, že modul plug-in má zájem o analýzu pouze selhání režimu jádra nebo pouze selhání uživatelského režimu. |
| BugCheckCode | 32bitový kód kontroly chyb – indikuje, že modul plug-in má zájem o analýzu tohoto kódu kontroly chyb. Jeden soubor metadat může určovat více kódů kontroly chyb. |
| Kód výjimky | 32bitový kód výjimky – indikuje, že modul plug-in má zájem o analýzu tohoto kódu výjimky. Jeden soubor metadat může určovat více kódů výjimek. |
| Název spustitelného souboru | Řetězec – Označuje, že modul plug-in má zájem pouze o relace, ve kterých se jedná o spuštěný spustitelný soubor procesu, který se má analyzovat. Jeden soubor metadat může zadat více spustitelných názvů. |
| Název obrázku | Řetězec - Označuje, že modul plug-in má zájem pouze o relace, kde výchozí analýza považuje tuto binární podobu (dll, sys nebo exe) za chybnou. Plug-in je vyvolán po analýze, která určila, který snímek je chybný. Jeden soubor metadat může zadat více názvů obrázků. |
| MaxTagCount | Celé číslo – maximální počet vlastních značek, které plugin vyžaduje. Vlastní značky jsou jiné než značky definované v extsfns.h. |
Příklady souborů metadat
Následující soubor metadat popisuje modul plug-in, který má zájem o analýzu kódu kontroly chyb 0xE2. (Vzpomeňte si, že poslední řádek musí končit znakem nového řádku.)
PluginId MyPlugin
DebuggeeClass Kernel
BugCheckCode 0xE2
Následující soubor metadat popisuje modul plug-in, který se zajímá o analýzu kontrol chyb 0x8, 0x9 a 0xA, pokud se MyDriver.sys považuje za chybný modul.
PluginId MyPlugin
DebuggeeClass Kernel
BugCheckCode 0x8
BugCheckCode 0x9
BugCheckCode 0xA
ImageName MyDriver.sys
Následující soubor metadat popisuje modul plug-in, který se zabývá analýzou kódu výjimky 0xC0000005, pokud MyApp.exe je spuštěný program analyzovaného procesu. Modul plug-in může také vytvořit až tři vlastní značky.
PluginId MyPlugin
DebuggeeClass User
ExceptionCode 0xC0000005
ExecutableName MyApp.exe
Nástroje ladění pro Windows mají ukázku, kterou můžete použít k sestavení modulu rozšíření ladicího programu s názvem dbgexts.dll. Tento modul rozšíření implementuje několik příkazů rozšíření ladicího programu, ale může sloužit také jako plugin pro analýzu; to znamená, že exportuje funkci _EFN_Analyze. Tady je soubor metadat, který popisuje dbgexts.dll jako zásuvný modul pro rozšíření analýzy.
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}
#
Viz také
Zápis modulu plug-in rozšíření analýzy pro rozšíření !analyze