Dumping Memory Statistics
Visual Studio 6.0
The CMemoryState member function Difference determines the difference between two memory-state objects. It detects any objects that were not deallocated from the heap between the beginning and end memory-state snapshots.
-
The following example (continuing the example from the previous topic) shows how to call DumpStatistics to get information about the objects that have not been deallocated:
if( diffMemState.Difference( oldMemState, newMemState ) ) { TRACE( "Memory leaked!\n" ); diffMemState.DumpStatistics(); }A sample dump from the example above is shown here:
0 bytes in 0 Free Blocks 22 bytes in 1 Object Blocks 45 bytes in 4 Non-Object Blocks Largest number used: 67 bytes Total allocations: 67 bytes-
The first line describes the number of blocks whose deallocation was delayed if afxMemDF was set to delayFreeMemDF. For a description of afxMemDF, see the procedure “To select specific memory diagnostic features with afxMemDF” presented under Memory Diagnostics.
-
The second line describes how many objects remain allocated on the heap.
-
The third line describes how many nonobject blocks (arrays or structures allocated with new) were allocated on the heap and not deallocated.
-
The fourth line gives the maximum memory used by your program at any one time.
- The last line lists the total amount of memory used by your program.
-
The first line describes the number of blocks whose deallocation was delayed if afxMemDF was set to delayFreeMemDF. For a description of afxMemDF, see the procedure “To select specific memory diagnostic features with afxMemDF” presented under Memory Diagnostics.
For more information, see Dumping All Objects, Tracking Memory Allocations, , and .