_CrtMemCheckpoint

Obtains the current state of the debug heap and stores in an application-supplied _CrtMemState structure (debug version only).

void _CrtMemCheckpoint(
   _CrtMemState *state 
);

Parameters

  • state
    Pointer to _CrtMemState structure to fill with the memory checkpoint.

Remarks

The _CrtMemCheckpoint function creates a snapshot of the current state of the debug heap at any given moment. This snapshot can be used by other heap state functions such as _CrtMemDifference to help detect memory leaks and other problems. When _DEBUG is not defined, calls to _CrtMemState are removed during preprocessing.

The application must pass a pointer to a previously allocated instance of the _CrtMemState structure, defined in Crtdbg.h, in the state parameter. If _CrtMemCheckpoint encounters an error during the checkpoint creation, the function generates a _CRT_WARN debug report describing the problem.

For more information about heap state functions and the _CrtMemState structure, see Heap State Reporting Functions. For more information about how memory blocks are allocated, initialized, and managed in the debug version of the base heap, see CRT Debug Heap Details.

If state is NULL, the invalid parameter handler is invoked, as described in Parameter Validation. If execution is allowed to continue, errno, _doserrno, _sys_errlist, and _sys_nerr is set to EINVAL and the function returns.

Requirements

Routine

Required header

_CrtMemCheckpoint

<crtdbg.h>, <errno.h>

For more compatibility information, see Compatibility in the Introduction.

Libraries: Debug versions of CRT Library Features only.

Example

See crt_dbg1.

.NET Framework Equivalent

Not applicable. To call the standard C function, use PInvoke. For more information, see Platform Invoke Examples.

See Also

Reference

Debug Routines

_CrtMemDifference