AfxCheckMemory

此功能验证可用内存池并输出错误消息根据要求。

BOOL AfxCheckMemory( );

返回值

非零,如果没有内存错误;否则为 0。

备注

如果函数不检测内存损坏,它没有打印。

所有在堆内存块当前分配时检查,包括 new 赋值的字段,而不是赋值的字段直接调用基础内存分配器,例如 malloc 函数或 GlobalAlloc windows 函数。 如果任何块捕获损坏,消息打印到调试器输出。

如果包含行

#define new DEBUG_NEW

在程序模块,然后对的后续调用 AfxCheckMemory 显示分配内存的文件名和行号。

备注

如果您的模块包含可序列化类的一个或多个实现,则必须置于 #define 行,在上一 IMPLEMENT_SERIAL 宏调用之后。

此函数在 MFC 的调试版本只工作。

示例

CAge* pcage = new CAge(21);  // CAge is derived from CObject.
Age* page = new Age(22);     // Age is NOT derived from CObject.
*(((char*)pcage) - 1) = 99;   // Corrupt preceding guard byte
*(((char*)page) - 1) = 99;    // Corrupt preceding guard byte
AfxCheckMemory();

要求

Header: afx.h

请参见

概念

MFC宏和Globals