_CrtDumpMemoryLeaks

 

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

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

  
int _CrtDumpMemoryLeaks( void );  

_CrtDumpMemoryLeaks devuelve TRUE si se encuentra una pérdida de memoria. De lo contrario, la función devuelve el FALSE.

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

A menudo, se llama a _CrtDumpMemoryLeaks al final de la ejecución del programa para comprobar que se ha liberado toda la memoria asignada por la aplicación. Puede llamar a la función automáticamente cuando finaliza el programa activando el _CRTDBG_LEAK_CHECK_DF campo de bits de la _crtDbgFlag marca mediante el _CrtSetDbgFlag (función).

_CrtDumpMemoryLeaksllamadas _CrtMemCheckpoint para obtener el estado actual del montón y, a continuación, examina el estado de los bloques que no se han liberado. Cuando se encuentra un bloque no liberado, _CrtDumpMemoryLeaks llamadas _CrtMemDumpAllObjectsSince para volcar la información de todos los objetos asignados en el montón desde el 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 las operaciones de volcado de la memoria. El _CrtSetDbgFlag función puede usarse para activar el _CRTDBG_CHECK_CRT_DF de bits de _crtDbgFlag para incluir estos bloques en el proceso de detección de pérdidas.

Para más información sobre las funciones de estado del montón y la estructura _CrtMemState , vea Heap State Reporting Functions. Para más información sobre cómo se asignan, inicializan y administran los bloques de memoria en la versión de depuración del montón base, vea CRT Debug Heap Details.

RutinaEncabezado necesario
_CrtDumpMemoryLeaks<crtdbg.h>

Para obtener más información sobre compatibilidad, vea Compatibility en la introducción.

Versiones de depuración de bibliotecas en tiempo de ejecución de C solo.

Para obtener un ejemplo de cómo usar _CrtDumpMemoryLeaks, consulte crt_dbg1.

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

Rutinas de depuración

Mostrar: