Scrittura del codice di estensione DbgEng

I comandi di estensione DbgEng possono includere qualsiasi codice C++ standard. Possono anche includere le interfacce C++ visualizzate nel file di intestazione dbgeng.h, oltre alle funzioni C visualizzate nel file di intestazione wdbgexts.h.

Se si intende usare le funzioni di wdbgexts.h, è necessario definire KDEXT_64BIT prima di includere wdbgexts.h. Ad esempio:

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

Per un elenco completo delle interfacce in dbgeng.h che possono essere usate in un comando di estensione, vedere Informazioni di riferimento sul motore di debugger.

Per un elenco completo delle funzioni in wdbgexts.h che può essere usato in un comando di estensione, vedere Funzioni WdbgExts. Alcune di queste funzioni vengono visualizzate nelle versioni a 32 bit e nelle versioni a 64 bit. In genere, le versioni a 64 bit terminano con "64" e le versioni a 32 bit non hanno terminazioni numeriche, ad esempio ReadIoSpace64 e ReadIoSpace. Quando si chiama una funzione wdbgexts.h da un'estensione DbgEng, è consigliabile usare sempre il nome della funzione che termina con "64". Questo perché il motore del debugger usa sempre puntatori a 64 bit internamente, indipendentemente dalla piattaforma di destinazione.

Se si include wdbgexts.h nell'estensione DbgEng, è necessario chiamare GetWindbgExtensionApis64 durante l'inizializzazione della DLL dell'estensione (vedere DebugExtensionInitialize).

Nota Non è necessario tentare di chiamare routine DbgHelp o ImageHlp da qualsiasi estensione del debugger. La chiamata a queste routine non è supportata e può causare diversi problemi.