_CrtMemCheckpoint

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

void _CrtMemCheckpoint(    _CrtMemState *state  );

参数

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

备注

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

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

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

如果 state 为 NULL,则调用的参数处理程序无效,如参数验证中所述。 如果允许执行继续,则将 errno、_doserrno、_sys_errlist 和 _sys_nerr 设置为 EINVAL 并返回该函数。

要求

例程

必需的标头

_CrtMemCheckpoint

<crtdbg.h>,<errno.h>

有关更多兼容性信息,请参阅“简介”中的兼容性

**库:**仅限 CRT 库功能 的调试版本。

示例

请参阅crt_dbg1

.NET Framework 等效项

不适用。若要调用标准 C 函数,请使用 PInvoke。有关详细信息,请参阅平台调用示例

请参见

参考

调试例程

_CrtMemDifference