Export (0) Print
Expand All
Memory Management and the Debug Heap
Types of Blocks on the Debug Heap
Debug Heap Features
The Debug Heap from C++
Heap State Reporting Functions
Tracking Heap Allocation Requests
Expand Minimize

The CRT Debug Heap 

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

This section provides a detailed look at the CRT debug heap.

In This Section

Memory Management and the Debug Heap

Describes the Debug versions of heap functions. These functions solve two of the most difficult memory allocation problems: overwriting the end of an allocated buffer and memory leaks (failing to free allocations after they are no longer needed).

Types of Blocks on the Debug Heap

Describes the five allocation types that memory blocks are assigned to in the debug heap. These allocation types are tracked and reported differently for purposes of leak detection and state reporting.

The Debug Heap

Provides information on using the debug heap. Information includes which calls resolve to Debug versions, what happens when you free a memory block, which debug features have to be accessed from within your code, steps to change _crtDbgFlag bit fields to create a new state for the flag, and a code example that illustrates turning on automatic leak detection and turning off checking for blocks of type _CRT_BLOCK.

The Debug Heap from C++

Discusses the Debug versions of the C++ new and delete operators and the effects of using _CRTDBG_MAP_ALLOC.

Heap State Reporting Functions

Describes the _CrtMemState structure, which you can use to capture a summary snapshot of the state of the heap. This topic also lists the CRT functions that report the state and contents of the heap and use the information to help detect memory leaks and other problems.

Tracking Heap Allocation Requests

Contains ways to identify the specific heap allocation call that went bad.

Related Sections

CRT Debugging Techniques

Links you to debugging techniques for the C Run-Time Library, including: using the CRT Debug Library, macros for reporting, differences between malloc and _malloc_dbg, writing debug hook functions, and the CRT debug heap.

Community Additions

ADD
Show:
© 2014 Microsoft