如何:启用内存诊断
更新:2007 年 11 月
本主题适用于:
版本 |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
速成版 |
仅限本机 |
|||
标准版 |
仅限本机 |
|||
专业团队版 |
仅限本机 |
表格图例:
适用 |
|
不适用 |
|
默认情况下隐藏的一条或多条命令。 |
必须先启用诊断跟踪,然后才能使用内存诊断功能。
启用或禁用内存诊断
- 调用全局函数 AfxEnableMemoryTracking 来启用或禁用诊断内存分配器。由于默认情况下内存诊断在调试库中是打开的,所以通常会使用该函数暂时关闭内存诊断,这会提高程序执行速度并减少诊断输出。
使用 afxMemDF 选择特定内存诊断功能
如果希望对内存诊断功能进行更精确的控制,可以通过设置 MFC 全局变量 afxMemDF 的值,来有选择地打开和关闭单个内存诊断功能。该变量可以具有下列值(由枚举类型 AfxMemDF 所指定):
值
含义
allocMemDF
打开诊断内存分配器(默认)。
delayFreeMemDF
在调用 delete 或 free 时延迟释放内存,直到程序退出。这将使您的程序分配可能的最大内存量。
checkAlwaysMemDF
每次分配或释放内存时均调用 AfxCheckMemory。
可以通过执行逻辑 OR 操作来组合使用这些值,如下所示:
AfxMemDF = allocMemDF | delayFreeMemDF | checkAlwaysMemDF;