首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Delphi中检测内存泄漏的最佳工具是什么

在Delphi中检测内存泄漏的最佳工具是什么
EN

Stack Overflow用户
提问于 2009-01-06 10:33:41
回答 9查看 31K关注 0票数 27

检测内存泄漏的最佳工具是什么?

既是免费的也不是免费的。

谢谢

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2009-01-06 20:53:17

我们在Delphi7中使用EurekaLog,它是一个异常处理组件,提供了异常的详细信息(包括callstack!环境变量等)。但另一个很棒的特性是,你也可以在内存泄漏时告诉它出错,这会显示内存/对象最初被分配的确切代码行!这是一个商业产品,但我仍然强烈推荐它。

票数 20
EN

Stack Overflow用户

发布于 2009-01-06 10:50:30

FastMM是一个免费的(源代码可用)内存泄漏检测器,已经集成在最新的Delphi版本中。我再也不需要别的东西了。

BTW在编码时限制内存泄漏的可能性要好得多,而不是稍后才发现它们。一些小贴士:

总是在你的代码中使用try和finally来释放创建的对象。最好立即编写这段代码,然后再编写代码来使用这些对象。更好的做法是使用IDE功能,如代码模板。

只有在绝对必要时才使用返回动态分配对象的函数。通常,将对象作为参数传递要比创建并返回它们更好。举个例子

代码语言:javascript
复制
procedure getChoices(var AChoices: TStrings);

会好得多

代码语言:javascript
复制
function getChoices: TStrings;

因为不存在意外泄漏所创建的TStrings对象的可能性。

票数 40
EN

Stack Overflow用户

发布于 2009-01-06 11:04:12

AQTime非常好。它还可以做其他事情,比如分析性能。而且它不需要对您的代码进行任何更改。当然,使用debug info进行编译有助于获得更好的结果。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/416046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档