ReportMemoryLeaksOnShutdown显示Win8.1上的泄漏但不显示Win7

时间:2015-09-04 14:41:25

标签: delphi

我的Delphi XE应用中的ReportMemoryLeaksOnShutdown = true。在我的Win7计算机上,我看到关闭时没有内存泄漏信息,但在Win8计算机上报告了一个小内存泄漏消息。在这两种情况下,我只是打开应用程序,然后关闭它。我错过了真正的内存泄漏,还是Win 8.1的问题?

1 个答案:

答案 0 :(得分:5)

内存管理器泄漏报告机制是可靠的。看起来您的泄漏只会出现在某些系统上。问题很可能不是在操作系统中,而是在您的代码中。或者也许在Embarcadero图书馆代码中。

但请相信内存管理员。根据我的经验,当它告诉你有泄漏时,就会发生泄漏。需要注意的是,IDE调试器有时会在您的进程中分配内存,然后泄漏。因此,在调试时,您有时会看到内存泄漏是误报,因为它们是由调试器引起的。但这不是这里的情景。你的过程确实在泄漏。

让自己到报告内存泄漏的机器,并在那里调试泄漏。你可能会使用FastMM的完整版本更有效地做到这一点,它为泄漏的内存块提供了更详细的信息。