Partager via


Écriture du code d’extension DbgEng

Les commandes d’extension DbgEng peuvent inclure n’importe quel code C++ standard. Elles peuvent également inclure les interfaces C++ qui apparaissent dans le fichier d’en-tête dbgeng.h, en plus des fonctions C qui apparaissent dans le fichier d’en-tête wdbgexts.h.

Si vous envisagez d’utiliser des fonctions de wdbgexts.h, vous devez définir KDEXT_64BIT avant d’inclure wdbgexts.h. Par exemple :

#define KDEXT_64BIT
#include wdbgexts.h
#include dbgeng.h

Pour obtenir la liste complète des interfaces dans dbgeng.h qui peuvent être utilisées dans une commande d’extension, consultez Référence du moteur de débogage.

Pour obtenir la liste complète des fonctions dans wdbgexts.h qui peuvent être utilisées dans une commande d’extension, consultez Fonctions WdbgExts. Un certain nombre de ces fonctions apparaissent dans les versions 32 bits et 64 bits. En règle générale, les versions 64 bits se terminent par « 64 » et les versions 32 bits n’ont pas de fin numérique, par exemple ReadIoSpace64 et ReadIoSpace. Lorsque vous appelez une fonction wdbgexts.h à partir d’une extension DbgEng, vous devez toujours utiliser le nom de la fonction se terminant par « 64 ». En effet, le moteur de débogueur utilise toujours des pointeurs 64 bits en interne, quelle que soit la plateforme cible.

Si vous incluez wdbgexts.h dans votre extension DbgEng, vous devez appeler GetWindbgExtensionApis64 pendant l’initialisation de votre DLL d’extension (voir DebugExtensionInitialize).

Note Vous ne devez pas tenter d’appeler des routines DbgHelp ou ImageHlp à partir d’une extension de débogueur. L’appel de ces routines n’est pas pris en charge et peut causer divers problèmes.