_CrtMemCheckpoint
获取应用程序提供的 _CrtMemState
结构中调试堆和存储的当前状态(仅限调试版本)。
语法
void _CrtMemCheckpoint(
_CrtMemState *state
);
参数
state
指向 _CrtMemState
结构以使用内存检查点进行填充的指针。
注解
_CrtMemCheckpoint
函数可在任意给定时刻创建调试堆当前状态的快照。 此快照可由其他堆状态函数(如 _CrtMemDifference
)用来帮助检测内存泄漏和其他问题。 未定义 _DEBUG
时,会在预处理过程中删除对 _CrtMemState
的调用。
应用程序必须在 _CrtMemState
参数中按照 Crtdbg.h 所定义的将指针传递给 state
结构以前分配的实例。 如果 _CrtMemCheckpoint
在检查点创建期间遇到错误,该函数将生成一份描述问题的 _CRT_WARN
调试报告。
有关堆状态函数和 _CrtMemState
结构的详细信息,请参阅堆状态报告函数。 若要详细了解如何在基堆的调试版本中分配、初始化和管理内存块,请参阅 CRT 调试堆详细信息。
如果 state
为 NULL
,则会调用无效的参数处理程序,如参数验证中所述。 如果允许继续执行,则将 、errno
、_doserrno
、_sys_errlist
和 _sys_nerr
设置为 EINVAL
,并且会返回函数。
要求
例程 | 必需的标头 |
---|---|
_CrtMemCheckpoint |
<crtdbg.h>、<errno.h> |
有关兼容性的详细信息,请参阅 兼容性。
库: 仅限 UCRT 的调试版本。