Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Confirma la integridad de los bloques de memoria asignados en el montón de depuración (solo versión de depuración).
Sintaxis
int _CrtCheckMemory( void );
Valor devuelto
Si se ejecuta correctamente, _CrtCheckMemory devuelve TRUE; de lo contrario, la función devuelve FALSE.
Comentarios
La función _CrtCheckMemory valida la memoria asignada por el administrador del montón de depuración comprobando el montón base subyacente e inspeccionando cada bloque de memoria. Si se encuentra un error o una inconsistencia de memoria en el montón base subyacente, la información de encabezado de depuración o los búferes de sobrescritura, _CrtCheckMemory genera un informe de depuración en el que se describe la condición de error. Cuando _DEBUG no se define, las llamadas a _CrtCheckMemory se quitan durante el preprocesamiento.
El comportamiento de _CrtCheckMemory se puede controlar estableciendo los campos de bits de la _crtDbgFlag marca mediante la _CrtSetDbgFlag función . Al activar el _CRTDBG_CHECK_ALWAYS_DF campo de bits, _CrtCheckMemory se llama a cada vez que se solicita una operación de asignación de memoria. Aunque este método ralentiza la ejecución, resulta útil detectar errores rápidamente. Si se desactiva el _CRTDBG_ALLOC_MEM_DF campo de bits, _CrtCheckMemory no se comprueba el montón y se devuelve TRUEinmediatamente .
Dado que esta función devuelve TRUE o FALSE, se puede pasar a una de las _ASSERT macros para crear un mecanismo básico de control de errores de depuración. En el ejemplo siguiente se genera un error de aserción si se detectan daños en el montón:
_ASSERTE( _CrtCheckMemory( ) );
Para obtener más información sobre cómo _CrtCheckMemory se puede usar con otras funciones de depuración, consulte Funciones de informes de estado del montón. Para obtener información general sobre la administración de memoria y el montón de depuración, consulte Detalles del montón de depuración de CRT.
Requisitos
| Routine | Encabezado necesario |
|---|---|
_CrtCheckMemory |
<crtdbg.h> |
Para obtener más información sobre compatibilidad, consulte Compatibilidad.
Bibliotecas
Solo versiones de depuración de las bibliotecas en tiempo de ejecución de C.
Ejemplo
Para obtener un ejemplo de cómo usar _CrtCheckMemory, vea crt_dbg1.