_CrtMemCheckpoint

获取应用程序提供的 _CrtMemState 结构中调试堆和存储的当前状态(仅限调试版本)。

语法

void _CrtMemCheckpoint(
   _CrtMemState *state
);

参数

state
指向 _CrtMemState 结构以使用内存检查点进行填充的指针。

注解

_CrtMemCheckpoint 函数可在任意给定时刻创建调试堆当前状态的快照。 此快照可由其他堆状态函数(如 _CrtMemDifference)用来帮助检测内存泄漏和其他问题。 未定义 _DEBUG 时,会在预处理过程中删除对 _CrtMemState 的调用。

应用程序必须在 _CrtMemState 参数中按照 Crtdbg.h 所定义的将指针传递给 state 结构以前分配的实例。 如果 _CrtMemCheckpoint 在检查点创建期间遇到错误,该函数将生成一份描述问题的 _CRT_WARN 调试报告。

有关堆状态函数和 _CrtMemState 结构的详细信息,请参阅堆状态报告函数。 若要详细了解如何在基堆的调试版本中分配、初始化和管理内存块,请参阅 CRT 调试堆详细信息

如果 stateNULL,则会调用无效的参数处理程序,如参数验证中所述。 如果允许继续执行,则将 errno_doserrno_sys_errlist_sys_nerr 设置为 EINVAL,并且会返回函数。

要求

例程 必需的标头
_CrtMemCheckpoint <crtdbg.h>、<errno.h>

有关兼容性的详细信息,请参阅 兼容性

库: 仅限 UCRT 的调试版本。

另请参阅

调试例程
_CrtMemDifference