Delen via


Extensiecode voor DbgEng schrijven

De extensieopdrachten van DbgEng kunnen elke standaard C++-code bevatten. Ze kunnen ook de C++-interfaces bevatten die worden weergegeven in het headerbestand dbgeng.h, naast de C-functies die worden weergegeven in het headerbestand wdbgexts.h.

Als u functies van wdbgexts.h wilt gebruiken, moet u KDEXT_64BIT definiƫren voordat wdbgexts.h wordt opgenomen. Voorbeeld:

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

Zie Debugger Engine Reference voor een volledige lijst met interfaces in dbgeng.h die kunnen worden gebruikt in een extensieopdracht.

Zie WdbgExts Functions voor een volledige lijst met functies in wdbgexts.h die kunnen worden gebruikt in een extensieopdracht. Een aantal van deze functies wordt weergegeven in 32-bits versies en 64-bits versies. Normaal gesproken eindigen de 64-bits versies op '64' en de 32-bits versies hebben geen numerieke einden, bijvoorbeeld ReadIoSpace64 en ReadIoSpace. Wanneer u een wdbgexts.h-functie aanroept vanuit een DbgEng-extensie, moet u altijd de functienaam gebruiken die eindigt op '64'. Dit komt doordat de foutopsporingsprogramma-engine altijd intern 64-bits aanwijzers gebruikt, ongeacht het doelplatform.

Als u wdbgexts.h opneemt in uw DbgEng-extensie, moet u GetWindbgExtensionApis64 aanroepen tijdens de initialisatie van uw extensie-DLL (zie DebugExtensionInitialize).

Opmerking U mag geen DbgHelp- of ImageHlp-routines aanroepen vanuit een extensie voor de debugger. Het aanroepen van deze routines wordt niet ondersteund en kan verschillende problemen veroorzaken.