The debug version of the Microsoft C run-time library uses the following flags to control the heap allocation and reporting process. For more information, see Using C Run-Time Library Debugging Support.
| Flag | Description |
| _CRTDBG_MAP_ALLOC | Maps the base heap functions to their debug version counterparts |
| _DEBUG | Enables the use of the debugging versions of the run-time functions |
| _crtDbgFlag | Controls how the debug heap manager tracks allocations |
These flags can be defined with a /D command-line option or with a #define directive. When the flag is defined with #define, the directive must appear before the header file include statement for the routine declarations.