_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。有关详细信息,请参阅平台调用示例。