MFC 中的内存泄漏检测

更新:2007 年 11 月

本主题适用于:

版本

Visual Basic

C#

C++

Web Developer

速成版

主题不适用 主题不适用

仅限本机

主题不适用

标准版

主题不适用 主题不适用

仅限本机

主题不适用

专业团队版

主题不适用 主题不适用

仅限本机

主题不适用

表格图例:

主题适用

适用

主题不适用

不适用

主题适用,但命令默认情况下隐藏

默认情况下隐藏的一条或多条命令。

MFC 提供一些类和函数来检测曾经被分配但从未释放的内存。

本节内容

  • 跟踪内存分配
    讨论 DEBUG_NEW 宏,可以使用它来定位内存泄漏。信息包括“Debug”和“Release”版本中的注意事项、如何在源文件中定义宏和对象转储。

  • 启用内存诊断
    提供启用诊断跟踪和用 afxMemDF 选择特定内存诊断功能(以得到更精确的控制)的步骤。

  • 拍内存快照
    说明如何获得内存快照以帮助定位内存泄漏。

  • 查看内存统计
    描述 CMemoryState::Difference 函数(比较内存)和 CMemoryState::DumpStatistics(输出内存统计信息)并提供代码示例。

  • 对象转储
    提供有关对象转储的信息,包括 DumpAllObjectsSince 函数、代码示例和注意事项以及如何解释和自定义对象转储。

相关章节

  • 检测和隔离内存泄漏
    如何使用 C 运行时库检测内存泄漏。

  • MFC 调试技术
    将您链接到 MFC 程序的调试技术,包括:afxDebugBreak、TRACE 宏、在 MFC 中检测内存泄漏、MFC 断言以及降低 MFC 调试版本的大小。

  • 调试 Visual C++
    讨论 C 和 C++ 应用程序的一些常见调试问题和技术。