Compartir a través de


AfxCheckMemory

Esta función valida el conjunto de memoria libre y imprime los mensajes de error como sea necesario.

BOOL AfxCheckMemory( );

Valor devuelto

Distinto de cero si ningún error de memoria; si no 0.

Comentarios

Si la función no detecta ninguna daños en la memoria, no imprime nada.

Todos los bloques de memoria asignados actualmente en la pila se comprueban, incluidos los asignados por new pero no los asignados por llamadas directas a los asignadores subyacentes de memoria, como la función de malloc o la función de GlobalAlloc Windows.Si alguna bloqueados se encuentra para estar dañado, un mensaje se imprime en la salida del depurador.

Si incluye la línea

#define new DEBUG_NEW

en un módulo de programa, las llamadas subsiguientes a AfxCheckMemory muestran el nombre de archivo y el número de línea donde se asignó la memoria.

[!NOTA]

Si el módulo contiene una o varias implementaciones de clases serializables, debe colocar la línea de #define después de la macro-instrucción última de IMPLEMENT_SERIAL .

Esta función solo funciona en la versión de depuración de MFC.

Ejemplo

CAge* pcage = new CAge(21);  // CAge is derived from CObject.
Age* page = new Age(22);     // Age is NOT derived from CObject.
*(((char*)pcage) - 1) = 99;   // Corrupt preceding guard byte
*(((char*)page) - 1) = 99;    // Corrupt preceding guard byte
AfxCheckMemory();

Requisitos

Header: afx.h

Vea también

Conceptos

Macros y funciones globales de MFC