当前位置:  开发笔记 > 编程语言 > 正文

适用于Delphi的Profiler和内存分析工具

如何解决《适用于Delphi的Profiler和内存分析工具》经验,为你挑选了4个好方法。

我最近从Delphi 4升级到Delphi 2009.使用Delphi 4,我一直使用Primoz Gabrijelcic的GpProfile作为分析器,使用Turbo Power的Memory Sleuth进行内存分析和泄漏调试.两者都适合我.但我现在需要能够与Delphi 2009配合使用的新工具.

对于Delphi的分析/分析工具的领导者显然是AutomatedQA的AQTime.他们最近甚至吞噬了Atanas Soyanov的Memproof,据我所知这是一款出色的免费记忆分析工具,并将其功能融入AQTime.但AQTime对于个人程序员来说非常昂贵.它实际上比升级到Delphi 2009成本更高!

所以我的问题是:是否还有其他较便宜的选项可以在当前版本的Delphi中进行性能分析和内存分析,您对此感到满意并推荐,或者我应该咬紧牙关并为AQTime付出巨额代价?


Addenum:似乎早期的回答者表明已经包含在Delphi中的FastMM管理器非常适合发现内存泄漏.

那么,源代码分析有什么好的选择吗?

我很好奇的是Michael Adolph的ProDelphi,它不到AQTime成本的六分之一.你用它吗?AQTime值六倍的价值吗?


Addenum 2:我下载了AQTime和ProDelphi的试用版.

AQTime起初有点压倒性,有点令人困惑.花了几个小时才找到了解决它所需的一些技巧.

ProDelphi非常像我习惯的GpProfile.但是它的窗户混乱而且令人困惑,而且它不如GpProfile那么好.

对我来说,差异似乎是:

    ProDelphi会更改您的代码.AQTime没有.如果出现问题,更改代码可能会损坏您的数据,但我对GpProfile的体验是它从未发生在我身上.加一个AQTime.

    ProDelphi要求您关闭优化.但是你想要描述的是你的程序,它的优化程度,运行方式.加一个AQTime.

    ProDelphi只能剖析功能或程序.AQTime可以归结为单独的线路.AQTime加2.

    ProDelphi有一个免费版本,可以分析20个例程,其专业版本的成本不到100美元.AQTime是600美元.ProDelphi加4.

目前比分是4-4.你怎么看?


Addenum 3:Primoz Gabrijelcic计划让GpProfile再次运作.请参阅他对以下一些回复的评论.他在StackOverflow上饰演Gabr.


Addenum 4:看起来似乎可能有一个分析器解决方案.参见Andre的开源asmprofiler,如下所述.



1> François..:

对于价格,你无法击败FastMM4作为内存跟踪器.它使用简单但功能强大且与Delphi完美集成.
我想你知道,没有下载,安装或改变任何其他东西,只需要这一行

ReportMemoryLeaksOnShutDown := True;

代码中的任何位置,都将启用内存泄漏的基本报告.
如果您需要更多像崩溃信息,EurekaLog是我们使用的非常好的产品.MadExcept也有良好的声誉......

对于具体的分析,我们有AQTime.

至于gpProfile,你可以尝试在bug上使用gabr进行更新...或者自己更新gpProfile,因为它是开源的.;-)


要跟踪FastMM分配,虚拟内存图,转储或系统信息摘要,您可以检查[`FastMM Usage Tracker`](http://fastmm.svn.sourceforge.net/viewvc/fastmm/Demos/Usage%20Tracker/ ),(+ 1)
目前的公共资源非常过时.我的磁盘上有更新的版本,但它仍处于"正在进行中"的状态,而且我没有足够的勇气来显示这些破碎的代码.我计划将GpProfile放在谷歌代码上,一旦它再次部分工作.
答案中存在轻微的拼写错误."ReportMemoryLeakOnShutdown"应为"ReportMemoryLeaksOnShutdown"(至少在D2010中).

2> 小智..:

我为Delphi开发了一个开源分析器:http: //code.google.com/p/asmprofiler/

它并不完美,但它是免费和开源的:-).

我做的主要原因是因为我错过了一个确切的调用树.例如,ProDelphi仅存储所有呼叫的摘要和总计数,您无法查看特定时间内特定程序的调用(或持续时间).它有一个时间表,因此您可以看到通话时间如何随时间而变化.


+1,它适用于多线程应用程序

3> Mohammed Nas..:

另请参阅Eric Grange的采样分析器


采样分析器从来没有为我做过,但感谢我们的建议,因为它可能对某些人有用.
这是最好的采样工具之一@ Eric Grange做得很好

4> Nick Bradbur..:

我对AQtime的分析非常满意.

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有