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).
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.
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.
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.
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.