Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Lorsque vous écrivez un plug-in d’extension d’analyse, vous écrivez également un fichier de métadonnées qui décrit les situations pour lesquelles vous souhaitez que votre plug-in soit appelé. Lorsque la commande !analyze du débogueur s’exécute, elle utilise des fichiers de métadonnées pour déterminer les plug-ins à charger.
Créez un fichier de métadonnées portant le même nom que votre plug-in d’extension d’analyse et une extension de .alz. Par exemple, si votre plug-in d’extension d’analyse est nommé MyAnalyzer.dll, votre fichier de métadonnées doit être nommé MyAnalyzer.alz. Placez le fichier de métadonnées dans le même répertoire que votre plug-in d’extension d’analyse.
Un fichier de métadonnées pour un plug-in d’extension d’analyse est un fichier texte ASCII qui contient des paires clé-valeur. Les clés et les valeurs sont séparées par un espace blanc. Une clé peut avoir n’importe quel caractère d’espace non blanc. Les clés ne sont pas sensibles à la casse.
Après la clé et l’espace blanc suivant, la valeur correspondante commence. Une valeur peut avoir l’une des formes suivantes.
Ensemble de caractères jusqu'à la fin de la ligne. Ce formulaire fonctionne pour les valeurs qui ne contiennent aucun caractère de nouvelle ligne.
Important Si la dernière valeur du fichier de métadonnées a une valeur de ce formulaire, la ligne doit se terminer par un caractère de nouvelle ligne.
Tout ensemble de caractères entre accolades { }. Le formulaire fonctionne pour les valeurs qui contiennent des caractères de nouvelle ligne.
Une ligne commençant par # est un commentaire et est ignorée. Les commentaires ne peuvent démarrer que lorsque les clés sont attendues.
Vous pouvez utiliser les clés suivantes dans un fichier de métadonnées.
| Clé | Descriptif |
|---|---|
| PluginId | Chaîne : identifie le plug-in. |
| DebuggeeClass | Chaîne : les valeurs possibles sont « Noyau » et « Utilisateur ». Indique que le plug-in est intéressé par l’analyse uniquement des échecs en mode noyau ou uniquement des échecs en mode utilisateur. |
| BugCheckCode | Code de vérification des bogues 32 bits : indique que le plug-in est intéressé par l’analyse de ce code de vérification des bogues. Un seul fichier de métadonnées peut spécifier plusieurs codes de vérification des bogues. |
| ExceptionCode | Code d’exception 32 bits : indique que le plug-in est intéressé par l’analyse de ce code d’exception. Un fichier de métadonnées unique peut spécifier plusieurs codes d’exception. |
| ExecutableName | Chaîne - Indique que le plug-in se concentre uniquement sur les sessions où cet exécutable est en cours d’exécution dans le processus à analyser. Un fichier de métadonnées unique peut spécifier plusieurs noms exécutables. |
| Nom de l'image | Chaîne : indique que le plug-in n’est intéressé que par les sessions où l’analyse par défaut considère cette image (dll, sys ou exe) comme étant en panne. Le plug-in est appelé une fois que l’analyse a déterminé quelle image est en panne. Un fichier de métadonnées unique peut spécifier plusieurs noms d’images. |
| MaxTagCount | Entier : nombre maximal de balises personnalisées dont le plug-in a besoin. Les balises personnalisées sont des balises autres que celles définies dans extsfns.h. |
Exemples de fichiers de métadonnées
Le fichier de métadonnées suivant décrit un plug-in qui s’intéresse à l’analyse du code de vérification des bogues 0xE2. Souvenez-vous que la dernière ligne doit se terminer par un caractère de nouvelle ligne.
PluginId MyPlugin
DebuggeeClass Kernel
BugCheckCode 0xE2
Le fichier de métadonnées suivant décrit un plug-in qui s’intéresse à l’analyse des vérifications de bogues 0x8, 0x9 et 0xA si MyDriver.sys est considéré comme étant le module en panne.
PluginId MyPlugin
DebuggeeClass Kernel
BugCheckCode 0x8
BugCheckCode 0x9
BugCheckCode 0xA
ImageName MyDriver.sys
Le fichier de métadonnées suivant décrit un plug-in qui s’intéresse à l’analyse du code d’exception 0xC0000005 si MyApp.exe est l’exécutable en cours d’exécution du processus en cours d’analyse. En outre, le plug-in peut créer autant de trois balises personnalisées.
PluginId MyPlugin
DebuggeeClass User
ExceptionCode 0xC0000005
ExecutableName MyApp.exe
Les outils de débogage pour Windows ont un exemple que vous pouvez utiliser pour générer un module d’extension de débogueur nommé dbgexts.dll. Ce module d’extension implémente plusieurs commandes d’extension de débogueur, mais il peut également servir de plug-in d’extension d’analyse ; autrement dit, il exporte une fonction _EFN_Analyze . Voici un fichier de métadonnées qui décrit dbgexts.dll en tant que plug-in d’extension d’analyse.
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}
#
Voir aussi
écriture d’un plug-in d’extension d’analyse pour étendre !analyser