Export (0) Print
Expand All

Memory Block Type Interpretation 

This topic applies to:

Visual Studio Edition

Visual Basic

C#

C++

J#

Express

No

No

Native

No

Standard

No

No

Native

No

Pro/Team

No

No

Native

No

As seen in Enabling Memory Leak Detection, the memory leak information identifies each block of leaked memory as a normal block, a client block, or a CRT block. In practice, normal blocks and client blocks are the only types you are likely to see.

  • A normal block is ordinary memory allocated by your program.

  • A client block is a special type of memory block used by MFC programs for objects that require a destructor. The MFC new operation creates either a normal block or a client block, as appropriate for the object being created.

  • A CRT block is a block of memory allocated by the CRT library for its own use. The CRT library handles the deallocation for these blocks, so it is unlikely you will see these in the memory leak report unless something is seriously wrong (for example, the CRT library is corrupted).

There are two block types you will never see in the memory leak information:

  • A free block is a block of memory that has been released.

  • An ignore block is a block that you have specifically marked so it doesn't appear in the memory leak report.

See Also

Concepts

Memory Leak Detection and Isolation
Types of Blocks on the Debug Heap

Community Additions

ADD
Show:
© 2014 Microsoft