Funciones de enlace con los bloques de tipo cliente

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Si desea validar o informar del contenido de los datos almacenados en bloques _CLIENT_BLOCK, puede escribir una función específicamente para ello. Esta función debe tener un prototipo similar al siguiente, como se define en CRTDBG.H:

void YourClientDump(void *, size_t)  
  

En otras palabras, la función de enlace debería aceptar un puntero void al inicio del bloque de asignación, junto con un valor de tipo size_t que indique el tamaño de la asignación y devuelva void. Aparte de eso, el contenido se puede elegir libremente.

Una vez instalada la función de enlace mediante _CrtSetDumpClient, recibirá una llamada cada vez que se realice un volcado de un bloque _CLIENT_BLOCK. Se puede, entonces, utilizar _CrtReportBlockType para obtener información del tipo o subtipo de los bloques volcados.

El puntero a la función que se pasó a _CrtSetDumpClient es del tipo _CRT_DUMP_CLIENT, según se define en CRTDBG.H:

typedef void (__cdecl *_CRT_DUMP_CLIENT)  
   (void *, size_t);  

Creación de funciones de enlace de depuración
crt_dbg2 Sample
_CrtReportBlockType

Mostrar: