3

在一个巨大的C++ builder 2010应用程序中,正在构建和链接多个 DLL 等。追踪长时间积累的内存泄漏的最佳方法是什么?假设应用程序必须在目标机器上运行一周或其他时间才能成为问题。让我们假设没有可用的分析应用程序,如 AQ Time 或类似的东西。只需使用标准 IDE 和一些代码。

我最初的想法是编写一个宏以在所有类中使用,以跟踪每个类类型开始使用的实例数量和空间。

4

1 回答 1

2

RTL 使用FastMM作为其内存管理器。FastMM 支持内存泄漏报告和跟踪。RTL 中包含的 FastMM 的本机版本是一个精简版本,但它确实支持最小的泄漏报告。您可以在运行时将 RTL 的全局ReportMemoryLeaksOnShutdown变量设置为 true,FastMM 将在应用程序关闭时生成基本的泄漏报告。如需更高级的使用,您可以下载完整版 FastMM 并将其添加到您的应用程序中,这将取代 RTL 的原生版本。然后,您可以根据需要配置 FastMM。

于 2013-03-05T19:50:59.400 回答