_CrtMemCheckpoint
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at _CrtMemCheckpoint.
Obtains the current state of the debug heap and stores in an application-supplied _CrtMemState
structure (debug version only).
Syntax
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 the UCRT only.
.NET Framework Equivalent
Not applicable. To call the standard C function, use PInvoke
. For more information, see Platform Invoke Examples.