我一直在测试性能和内存分析器AQTime,看看是否值得为我的Delphi应用程序花费那么大的$$$.
让我感到惊讶的是它如何在不修改应用程序源代码的情况下为您提供源行级别性能跟踪(包括每行执行的次数以及该行所用的时间),并且不会为此添加过多的时间调试运行.
他们如此高效地这样做的方式让我觉得这里可能会使用一些我不知道的技术/技术,这对我们来说是有用的.
你知道他们用什么样的方法来逐行捕获执行而不需要更改代码吗?
是否还有其他分析工具也可以进行非侵入式逐行检查,如果有,他们是否使用相同的技术?
我为Delphi制作了一个开源分析器,它也是这样做的:http: //code.google.com/p/asmprofiler/
它并不完美,但它是免费的:-).也使用了Detour技术.它存储每个调用(您必须手动设置要配置的功能),这样它就可以创建一个精确的调用历史树,包括时间图(!).
这只是猜测,但也许AQtime基于一种类似于Microsoft Detours的技术?
Detours是一个用于在x86,x64和IA64机器上检测任意Win32函数的库.Detours通过重写目标函数的内存代码来拦截Win32函数.