delphi - FastMM 是否检测所有内存泄漏

标签 delphi fastmm

最近有人建议 ( My program never releases the memory back. Why? ) 我的程序泄漏了一些内存。我将 FastMM 设置为激进,当我关闭程序时它报告没有内存泄漏。

无论如何,我想知道是否存在 FastMM 未检测到的内存泄漏?

更新:我个人不使用 Win API 来分配内存。但我担心我使用的一些第三方组件(不是很多)可能会使用它。您能否让我知道 FastMM 无法拦截的所有可能的 API 调用?我将在我的代码中搜索它们。谢谢。

<小时/>

Delphi 7、Win 7 32 位
FastMM 4.97
我对界面不感兴趣。

最佳答案

FastMM 是 Windows 内存管理之上的一层。显然,如果您(或某些组件或其他任何东西)使用 Windows API 来分配内存,那么此类分配会绕过 FastMM,并且您将无法跟踪它。顺便说一句,Delphi 内存管理器本身使用该 API 来分配内存块。因此,如果您需要查看该级别的分配,FastMM 是不够的 - 您必须使用 AQTime 等工具和类似工具(正如我在上一个问题中建议的那样)。

关于delphi - FastMM 是否检测所有内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4477936/

相关文章:

windows - 我如何撤销 IntersectClipRect 的效果?

Delphi:FastMM虚拟内存管理引用?

delphi - 定期调用 FastMM4 LogAllocationBlocksToFile() 是否会耗尽内存空间?

delphi - 如何在这段代码中释放 TOleStream

delphi - 当我在Delphi中打开ComboBox的列表时,如何使SearchBox可见

delphi - 无法编译受约束的泛型方法

delphi - 如何从我的项目文件中删除 FastMM497?

delphi - FastMM 无法检测内存泄漏

delphi - 主应用程序忙时如何避免线程卡住

c++ - 我想在 Delphi/WIN32 中使用 Infocardapi.dll 但想要它的头文件