_CrtMemDumpAllObjectsSince
从程序执行的开始或从指定的堆状态(仅限调试版本)转储关于在堆中对象的信息。
void _CrtMemDumpAllObjectsSince(
const _CrtMemState *state
);
参数
- state
指向堆状态开始转储或为 NULL 的指针。
备注
_CrtMemDumpAllObjectsSince 函数转储分配在堆中对象的调试头信息到用户可读的表格中。 转储信息可以被应用程序跟踪配置和检测内存问题使用。 当 _DEBUG 未定义时,在预处理期间移除对 _CrtMemDumpAllObjectsSince 的调用。
_CrtMemDumpAllObjectsSince 使用state 参数的值来确定哪里开始转储操作。 从指定的堆状态开始转储,state 参数必须是在调用**_CrtMemDumpAllObjectsSince** 之前,指向由 _CrtMemCheckpoint 填充的 _CrtMemState 结构的指针。 当 state 为 NULL 时,该函数从项目执行起开始转储。
如果应用程序通过调用 _CrtSetDumpClient 安装一个转储挂钩函数,那么每次 _CrtMemDumpAllObjectsSince 转储关于块的 _CLIENT_BLOCK 类型的信息,则也调用应用程序提供的转储函数。 默认情况下,内部 C 运行时块 (_CRT_BLOCK) 不包括内存转储操作。 _CrtSetDbgFlag 函数可以用来打开**_crtDbgFlag** 的 _CRTDBG_CHECK_CRT_DF 位用来包含这些块。 此外,被标记为释放或忽略的块(_FREE_BLOCK、_IGNORE_BLOCK)不包括在内存转储中。
有关堆状态函数的详细信息和 _CrtMemState结构,请参见 堆状态报告功能。 有关在调试版本中的基位置堆中内存如何分配,初始化和管理的详细信息,请参见 CRT 调试堆详细信息。
要求
例程 |
必需的标头 |
---|---|
_CrtMemDumpAll-ObjectsSince |
<crtdbg.h> |
有关更多兼容性信息,请参见“简介”中的兼容性。
库
仅限 C 运行时库的调试版本。
示例
对于如何使用 _CrtMemDumpAllObjectsSince 的例子,请参阅 crt_dbg2。
.NET Framework 等效项
不适用。若要调用标准 C 函数,请使用 PInvoke。有关更多信息,请参见平台调用示例。