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

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

问题描述

我最近从 Delphi 4 升级到 Delphi 2009.使用 Delphi 4 我一直在使用 GpProfile 由 Primoz Gabrijelcic 作为分析器和 Turbo Power 的内存侦探 用于内存分析和泄漏调试.两者对我来说都很好.但我现在需要可以与 Delphi 2009 配合使用的新工具.

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.

Delphi 的性能分析/分析工具的领先者显然是 AutomatedQA 的 AQTime.他们最近甚至吞下了 Memproof by Atanas Soyanov,我理解是一款出色且免费的内存分析工具,并将其功能整合到 AQTime 中.但是 AQTime 对于个人程序员来说是非常昂贵的.它的成本实际上比升级到 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!

所以我的问题是:在当前版本的 Delphi 中,是否还有其他更便宜的选项来进行性能分析和内存分析,您对此感到满意并推荐,还是我应该硬着头皮为 AQTime 支付大笔费用?

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?

附录:似乎早期的回答者表示 Delphi 中已经包含的 FastMM 管理器非常适合查找内存泄漏.

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?

我很好奇的是 Michael Adolph 的 ProDelphi,它不到AQTime 的成本.你使用它吗?AQTime值得支付六倍吗?

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?

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

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

AQTime 起初有点让人不知所措,也有点令人困惑.花了几个小时才找到连接它所需的一些技巧.

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 与我习惯的 GpProfile 非常相似.但它的窗口杂乱无章,而且不如 GpProfile 好.

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 更改您的代码.AQTime 没有.如果出现问题,更改代码可能会损坏您的数据,但我使用 GpProfile 的经验是它从未发生在我身上.AQTime 加一.

  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.

ProDelphi 要求您关闭优化.但是您想要分析的是您的程序优化后的运行方式.AQTime 加一.

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.

ProDelphi 只能分析到函数或过程.AQTime 可以下降到单独的行.AQTime 加 2.

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

ProDelphi 有一个免费版本,可以分析 20 个例程,其专业版的成本不到 100 美元.AQTime 为 600 美元.为 ProDelphi 加上 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.

现在比分是 4-4.你怎么看?

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

附录 3:Primoz Gabrijelcic 计划让 GpProfile 再次工作.请参阅他对以下一些回复的评论.他在 StackOverflow 上的身份是 Gabr.

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.

附录 4:似乎毕竟可能有分析器解决方案.请参阅Andre 的开源 asmprofiler,如下所述.

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

推荐答案

就价格而言,您无法击败 FastMM4 作为内存跟踪器.它使用简单但功能强大且与 Delphi 集成良好.
我猜你知道,不用下载、安装或改变任何东西,只要把这行

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;

在您的代码中的任何位置,都将启用内存泄漏的基本报告.
如果您需要更多类似崩溃信息,EurekaLog 是我们使用的一个非常好的产品.MadExcept 也有很好的口碑...

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...

专门用于分析,我们有 AQTime.

For profiling specifically, we have AQTime.

至于 gpProfile,您可以尝试在 SO 上调试 gabr 以获取更新...或者去自己更新 gpProfile,因为它是开源的.;-)

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 的探查器和内存分析工具的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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