Delphi 7.0和内存泄漏?

| 在用FastMM4花费时间清除可能导致内存泄漏的任何代码段后,如FastMM4所示,我们已经测试了我们的软件在Windows 7上连续运行了大约一个月。这就是我到目前为止所看到的我的软件过程的任务管理器。
> -CPU started out at 1% and 0%. Now it is bouncing around from 2% to 5%
> -VM usage started out at 11,852KB. Now it is at 4,900kb but bouncing
> around from 4,900kb to 5,000kb.
这是否意味着我们的软件内存泄漏?我感到困惑和担忧。 提前致谢,     
已邀请:
这听起来很正常。该程序执行需要内存的操作,并且内存使用率上升。该程序完成其工作并释放内存,并且内存使用率下降。内存泄漏是指内存使用率上升并持续上升的原因,因为一旦使用完就不释放内存。 如果您有FastMM4,则不必寻找可能导致内存泄漏的事物。只需打开“完全调试模式”和“日志记录”选项,它就会在运行时查找任何泄漏的内存,并为您写出具有类型和堆栈跟踪的文件。     
不,当内存使用率上升并且最终您的应用程序使用了所有可用内存时,您就有内存泄漏和需要关注的原因。     
即使应用程序看起来可以正常运行几天,在未(或不经常)使用的代码区域中仍然可能存在内存泄漏。因此,当应用程序的这一部分在稍后的时间激活时,它们可能是一个问题。 为了确保测试所有代码是否泄漏,可以将FastMM4与单元测试(带有DUnit)一起使用,以确保执行尽可能多的代码路径。例如,可以使用此开源Delphi工具或最近成为开源的Discover来测量单元测试代码的覆盖率。 此外,主干版本(9.4.0)中的DUnit支持针对每个测试用例进行自动内存泄漏检测(基于FastMM4)。     
也许值得考虑一下调试器?我了解您不使用它们。我也有内存泄漏问题。我只是对此一无所知。现在,使用泄漏的“监护人”-对我来说,它成为了逃避者。而且您可以看到这样的样子,这会令您满意。     

要回复问题请先登录注册