【发布时间】:2010-12-18 12:01:19
【问题描述】:
最近有人建议 (My program never releases the memory back. Why?) 我的程序泄漏了一些内存。我将 FastMM 设置为积极,当我关闭程序时它不会报告内存泄漏。
无论如何,我想知道是否存在 FastMM 未检测到的内存泄漏?
更新:我个人不使用 Win API 来分配内存。但我担心我使用的一些 3rd 方组件(不是很多)可能会使用它。你能告诉我 FastMM 无法拦截的所有可能的 API 调用吗?我将在我的代码中搜索它们。谢谢。
Delphi 7,Win 7 32 位
FastMM 4.97
我对接口不感兴趣。
【问题讨论】:
-
@Altar 我刚刚编写了一个应用程序,它分配一块内存,零填充它,然后释放它。 Process Explorer 报告的工作集统计信息会上升,然后返回到它们开始的级别。我正在使用带有 FastMM 的 vanilla D2010(当然这是默认设置)。
-
@Altar 我的问题是这个。为什么要找 FastMM 的问题,而不是先看自己的代码? FastMM 的使用非常广泛,我通常倾向于从认为它做得很好的信念开始。
-
@Altar 最后,您是否尝试过我发布到您的其他问题之一的基于 MSVCRT 的 MM?我敢打赌,它的性能与 FastMM 相同,这可能会说服您停止在那里寻找问题并查看您自己的代码。
-
@David 我不认为 Altar 声称 FastMM 是问题的根源。此外,一定是他的代码中的某些东西导致了问题,Altar 正在寻找一种方法来找出问题所在。
-
@Eugene 以前的问题调用了 FastMM,它有助于在以前线程的上下文中考虑这个线程