Delphi的Profiler和内存分析工具 [英] Profiler and Memory Analysis Tools for Delphi

查看:270
本文介绍了Delphi的Profiler和内存分析工具的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我最近从Delphi 4升级到Delphi 2009。使用Delphi 4,我一直在使用由Primoz Gabrijelcic的GpProfile 作为分析器,而由Turbo Power提供的Memory Sleuth,用于内存分析和泄漏调试。两者都对我有好处。但是我现在需要使用Delphi 2009新工具。



Delphi的Profiling / Analysis工具的领先者很大程度上显然是 AQTime by AutomatedQA 。他们最近甚至把我理解的记忆Atanas Soyanov 是一个优秀和免费的内存分析工具,并将功能集成到AQTime中。但是AQTime对于一个程序员而言是非常昂贵的。实际上,成本比Delphi 2009的成本更高!



所以我的问题是:在当前版本的Delphi中,是否还有其他更便宜的选项进行分析和内存分析你很高兴和推荐,或者我应该咬一口子并支付AQTime的大块钱?






Addenum:It早期的回答者似乎表示,已经包含在Delphi中的FastMM经理非常适合发现内存泄漏。



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



我很好奇的是 Michael的ProDelphi Adolph ,低于AQTime的六分之一。你用它吗AQTime是否值得支付六倍?






Addenum 2:我下载了AQTime和ProDelphi的试用版。 p>

AQTime有点压倒一切,有点混乱。花了几个小时找到一些需要钩住的技巧。



ProDelphi非常像我习惯的GpProfile。但是它的窗口是混乱和混乱,它不如GpProfile那么好。



对我来说,巨大的差异似乎是:


  1. ProDelphi更改您的代码。 AQTime不如果发生错误,更改代码可能会损坏您的数据,但是我的GpProfile经验是我从未发生过的。加一个AQTime。


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


  3. ProDelphi只能归档到功能或过程。 AQTime可以转到个别行。加上2为AQTime。


  4. ProDelphi有一个免费版本,将配置20个例程,其专业版成本低于100美元。 AQTime是$ 600 USD。 Plus 4 for ProDelphi。


现在的分数是4-4。你觉得怎么样?






Addenum 3:Primoz Gabrijelcic计划让GpProfile再次工作。看到他对以下一些回应的评论。他在StackOverflow上作为 Gabr






Addenum 4:好像毕竟可能有一个profiler解决方案。请参阅 Andre的开源asmprofiler,如下所述

解决方案

对于价格,您不能击败FastMM4作为内存跟踪器。它很简单,但功能强大,与Delphi完美集成。

我想你知道,没有下载,安装或更改任何其他东西,只要放这行

  ReportMemoryLeaksOnShutDown:= True; 

您的代码中的任何地方将启用内存泄漏的基本报告。

如果您需要更多的崩溃信息,EurekaLog是一个非常好的产品,我们使用。 MadExcept也有很好的声誉...



对于具体的剖析,我们有AQTime。



对于gpProfile,您可以尝试将错误 gabr SO更新...或去,更新gpProfile,因为它是开源的。 ; - )


I recently upgraded from Delphi 4 to Delphi 2009. With Delphi 4 I had been using GpProfile by Primoz Gabrijelcic as a profiler and Memory Sleuth by Turbo Power for memory analysis and leak debugging. Both worked well for me. But I now need new tools that will work with Delphi 2009.

The leader in Profiling/Analysis tools for Delphi by a wide margin is obviously AQTime by AutomatedQA. They recently even gobbled up Memproof by Atanas Soyanov, which I understood was an excellent and free memory analysis tool, and incorporated its functionality into AQTime. But AQTime is very expensive for an individual programmer. It actually costs more than the upgrade to Delphi 2009 cost!

So my question is: Are there other less expensive options to do profiling and memory analysis in current versions of Delphi that you are happy with and recommend, or should I bite the bullet and pay the big bucks for AQTime?


Addenum: It seems the early answerers are indicating that the FastMM manager already included in Delphi is very good for finding memory leaks.

So then, are there any good alternatives for source code profiling?

One I'm curious about is ProDelphi by Michael Adolph which is less than one sixth the cost of AQTime. Do you use it? Is AQTime worth paying six times as much?


Addenum 2: I downloaded trial versions of both AQTime and ProDelphi.

AQTime was a bit overwhelming and a little confusing at first. It took a few hours to find some of the tricks needed to hook it up.

ProDelphi was very much like the GpProfile that I was used to. But its windows are cluttered and confusing and it's not quite as nice as GpProfile.

To me the big differences seem to be:

  1. ProDelphi changes your code. AQTime does not. Changing code may corrupt your data if something goes wrong, but my experience with GpProfile was that it never happened to me. Plus one for AQTime.

  2. ProDelphi requires you turn optimization off. But what you want to profile is your program with optimization on, the way it will be run. Plus one for AQTime.

  3. ProDelphi only can profile down to the function or procedure. AQTime can go down to individual lines. Plus 2 for AQTime.

  4. ProDelphi has a free version that will profile 20 routines, and its pro version costs less than $100 USD. AQTime is $600 USD. Plus 4 for ProDelphi.

The score is now 4-4. What do you think?


Addenum 3: Primoz Gabrijelcic is planning to get GpProfile working again. See his comments on some of the responses below. He on StackOverflow as Gabr.


Addenum 4: It seems like there may be a profiler solution after all. See Andre's open source asmprofiler, described below.

解决方案

For the price, you cannot beat FastMM4 as a memory tracker. It's simple to use yet powerful and well integrated with Delphi.
I guess that you know that, without downloading, installing or changing anything else, just putting this line

ReportMemoryLeaksOnShutDown := True;

anywhere in your code, will enable basic reporting of memory leaks.
If you need more like crash information, EurekaLog is a very good product that we use. MadExcept also has a good reputation...

For profiling specifically, we have AQTime.

As for gpProfile, you can try and bug gabr on SO for an update... or go and update gpProfile yourself as it is open source. ;-)

这篇关于Delphi的Profiler和内存分析工具的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆