Compartir a través de


Escribir código de extensión dbgEng

Los comandos de extensión dbgEng pueden incluir cualquier código estándar de C++. También pueden incluir las interfaces de C++ que aparecen en el archivo de encabezado dbgeng.h, además de las funciones de C que aparecen en el archivo de encabezado wdbgexts.h.

Si tiene previsto usar funciones de wdbgexts.h, debe definir KDEXT_64BIT antes de incluir wdbgexts.h. Por ejemplo:

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

Para obtener una lista completa de las interfaces de dbgeng.h que se pueden usar en un comando de extensión, vea Referencia del motor del depurador.

Para obtener una lista completa de las funciones de wdbgexts.h que se pueden usar en un comando de extensión, vea Funciones WdbgExts. Varias de estas funciones aparecen en versiones de 32 bits y versiones de 64 bits. Normalmente, las versiones de 64 bits terminan en "64" y las versiones de 32 bits no tienen ningún final numérico, por ejemplo, ReadIoSpace64 y ReadIoSpace. Al llamar a una función wdbgexts.h desde una extensión DbgEng, siempre debe usar el nombre de función que termina en "64". Esto se debe a que el motor del depurador siempre usa punteros de 64 bits internamente, independientemente de la plataforma de destino.

Si incluye wdbgexts.h en la extensión DbgEng, debe llamar a GetWindbgExtensionApis64 durante la inicialización del archivo DLL de extensión (consulte DepurarExtensionInitialize).

Nota No debe intentar llamar a ninguna rutina DbgHelp o ImageHlp desde cualquier extensión del depurador. No se admite llamar a estas rutinas y puede causar una variedad de problemas.