如何:启用内存诊断

本主题适用于:

版本

Visual Basic

C#

F#

C++

Web Developer

学习版

主题不适用 主题不适用 主题不适用

仅限本机

主题不适用

专业版、高级专业版和旗舰版

主题不适用 主题不适用 主题不适用

仅限本机

主题不适用

必须先启用诊断跟踪,然后才能使用内存诊断功能。

启用或禁用内存诊断

  • 调用全局函数 AfxEnableMemoryTracking 来启用或禁用诊断内存分配器。 由于默认情况下内存诊断在调试库中是打开的,所以通常会使用该函数暂时关闭内存诊断,这会提高程序执行速度并减少诊断输出。

使用 afxMemDF 选择特定内存诊断功能

  • 如果希望对内存诊断功能进行更精确的控制,可以通过设置 MFC 全局变量 afxMemDF 的值,来有选择地打开和关闭单个内存诊断功能。 该变量可以具有下列值(由枚举类型 afxMemDF 所指定)。

    含义

    allocMemDF

    打开诊断内存分配器(默认)。

    delayFreeMemDF

    在调用 deletefree 时延迟释放内存,直到程序退出。 这将使您的程序分配可能的最大内存量。

    checkAlwaysMemDF

    每次分配或释放内存时均调用 AfxCheckMemory

    可以通过执行逻辑 OR 操作来组合使用这些值,如下所示:

    afxMemDF = allocMemDF | delayFreeMemDF | checkAlwaysMemDF;
    

请参见

其他资源

MFC 中的内存泄漏检测