Compartir a través de


_CrtDumpMemoryLeaks

Vuelca todos los bloques de memoria del montón de depuración cuando se ha producido una pérdida de memoria (versión de depuración solo).

int _CrtDumpMemoryLeaks( void );

Valor devuelto

_CrtDumpMemoryLeaks devuelve TRUE si se encuentra una pérdida de memoria.si no, la función devuelve FALSE.

Comentarios

La función de _CrtDumpMemoryLeaks determina si se ha producido una pérdida de memoria desde el inicio de la ejecución del programa.Cuando se encuentra un escape, la información de encabezado de depuración para todos los objetos del montón se vuelca en un formulario usuario-legible.Cuando _DEBUG no está definido, las llamadas a _CrtDumpMemoryLeaks se quitan durante el preprocesamiento.

_CrtDumpMemoryLeaks con frecuencia se denomina al final de la ejecución del programa para comprobar que toda la memoria asignada por la aplicación se ha liberado.La función puede llamar automáticamente en la finalización del programa activando el campo de bits de _CRTDBG_LEAK_CHECK_DF de marcador de _crtDbgFlag mediante la función de _CrtSetDbgFlag .

_CrtDumpMemoryLeaks llama _CrtMemCheckpoint para obtener el estado actual de la pila y después al estado que los bloques que no se han liberado.Cuando se encuentra un bloque unfreed, _CrtDumpMemoryLeaks llama _CrtMemDumpAllObjectsSince para volcar la información para todos los objetos asignados en la pila de inicio de la ejecución del programa.

De forma predeterminada, los bloques internos en tiempo de ejecución de C (_CRT_BLOCK) no se incluyen en operaciones de volcado de memoria.La función de _CrtSetDbgFlag se puede utilizar para girar el bit de _CRTDBG_CHECK_CRT_DF de _crtDbgFlag para incluir estos bloques en el proceso de detección de escape.

Para obtener más información sobre las funciones de estado de la pila y la estructura de _CrtMemState , vea Que indican el estado del montón funciones.Para obtener información sobre cómo los bloques de memoria se asignan, inicialice, y se administran en la versión de depuración del montón base, vea Administración de memoria y el montón de depuración.

Requisitos

rutina

Encabezado necesario

_CrtDumpMemoryLeaks

<crtdbg.h>

Para obtener más información de compatibilidad, vea compatibilidad en la Introducción.

bibliotecas

Versiones de depuración de Bibliotecas en tiempo de ejecución de C únicamente.

Ejemplo

Para obtener un ejemplo de cómo utilizar _CrtDumpMemoryLeaks, vea crt_dbg1.

Equivalente en .NET Framework

No es aplicable Para llamar a la función estándar de C, utilice PInvoke. Para obtener más información, vea La invocación de plataforma ejemplos.

Vea también

Referencia

Rutinas de depuración