CMemoryState::DumpStatistics
Imprime estadísticas precisas de memoria salen de un objeto de CMemoryState que se rellena con la función miembro de Diferencia .
void DumpStatistics( ) const;
Comentarios
El informe, que se imprime en el dispositivo de afxDump , muestra lo siguiente:
Un informe de ejemplo ofrece información en el número (o la cantidad) de:
bloques libres
bloques normales
Bloques CRT
omita los bloques
bloques de cliente
memoria máxima utilizada por el programa en cualquier momento (en bytes)
memoria total utilizada actualmente por el programa (en bytes)
Los bloques libres son el número de bloques cuya desasignación se y si afxMemDF se estableció en delayFreeMemDF. Para obtener más información, vea afxMemDF, en la sección “macros y Globals MFC”. Vea Tipos de bloques del montón de depuración para obtener más información sobre estos tipos de bloques.
Ejemplo
El siguiente código debe colocarse en projnameApp.cpp. Definir las variables globales siguientes:
static CMemoryState oldstate, newstate, diffstate;
En función de InitInstance , agregue la línea:
oldstate.Checkpoint();
Agregue un controlador para la función de ExitInstance y utilice el código siguiente:
newstate.Checkpoint();
if (diffstate.Difference(oldstate, newstate))
{
TRACE(_T("Memory leaked\n"));
diffstate.DumpStatistics();
}
Ahora puede ejecutar el programa en modo de depuración para ver el resultado de DumpStatistics trabajar.
Requisitos
encabezado: afx.h