AQtime 7免费版是包含完整的性能和调试工具集合,可以帮助用户手机程序运行时的关键性能信息和内存/资源分配信息,还可以提交概要报告和详细报告,支持与基于SCCAPI的版本控制软件集成使用。需要的朋友可以下载!

AQtime 7新功能
分配分析器的改进
新的调用堆栈视图被添加到分配分析器结果显示。使用Classes数据结果类别,可以分析给定类的所有分配对象的调用堆栈信息。当您在“报告”面板中选择特定的类时,“调用图”和“调用树”面板将显示导致创建所选类的实例的函数调用序列。通过为单个类的多个实例折叠类似的分配堆栈,我们可以提供更加紧凑的结果集并简化AQtime的内存调试。有关详细信息,请参阅查看呼叫堆栈。
Light Coverage profiler增强功能
1.更好的运行时性能
2.更好的容量,特别是处理大型结果集
3.在将多个数据文件与分析结果合并时,性能更好
NET应用程序的分析已经改进
具体来说,AQtime 修复了早期版本的AQtime可能无法启动.NET应用程序分析,并报告错误“没有足够的存储可用于处理此命令”时出现错误。
AQtime 7安装教程
1.解压数据包,双击“AQtimeStd_7.40.800.867.exe”进入安装向导,点击“next”进入下一步
2.点击选择同意相关协议
3.输入公司名称和信息,这个大家自由填写就可以了,然后点击下一步

4.选择安装位置和安装文件夹最好不要安装到系统盘中
5.选择安装组件以及功能即可
6.等待安装完成即可

7.安装完成
AQtime 7使用教程
准备
和MemProof一样,要求目标程序带有完整的调试信息。打开工程选项(Project-Options)
1、 Compiler面板
去掉Optimization(代码优化)选项
选择Stack Frames(为所有过程函数强制生成调用堆栈)选项
选择Debug information (在DCU文件中生成调试信息)选项
2、Linker面板
选择Detailed(生成完整的MAP文件,包含模块、单元、过程等地址信息)选项
选择Include TD32 debug info(将调试信息生成到可执行文件)选项
该选项会导致可执行文件体积增大,但不会影响运行效率以及内存占用,建议在正式发布时不要带上该选项。
3、Packages面板
如果希望使用Allocation profiler (资源分配测试方案)
去掉 Build with runtime packages
也可以不去掉该选项,但是必须使用Add Moudle把下列BPL添加进来:
VCL50.BPL - Delphi 5.
RTL60.BPL - Delphi 6.
RTL70.BPL - Delphi 7.
RTL90.BPL - Delphi 2005 for Win32.
面板简介
Event View -事件浏览,查看运行过程中的事件
Moniter -监视面板,监视运行期间各个模块的内存使用情况
Disassembler -汇编代码面板,查看汇编代码
Editor -代码浏览窗口,如果无法浏览代码,会出现路径配置,选择好代码的路径即可浏览
Details -详细信息窗口,查看比报告中更详细的内容
Call Graphic -图表方式显示方法调用情况
Call Tree -树方式显示方法调用情况
PE Reader - PE文件浏览窗口
开始
1.选择File-New Project From Moudle 打开待测试的程序,选择一种测试方案开始测试。
Allocation Profiler(内存使用剖析)
跟踪程序执行过程中对内存资源的使用情况,按类、对象检测并显示程序中对内存资源使用情况,确定明显或潜在的内存泄露来源, 避免由此造成的程序崩溃。AQTime会跟踪TObject继承下来的对象的创建和删除,以及通过内存管理函数
GetMem, ReallocMem, FreeMem
GetMemory, ReallocMemory, FreeMemory
SysGetMem, SysReallocMem, SysFreeMem
测试结果报告
Class Name -类名称,如果是通过内存管理函数分配的内存类名为:VCL native memory,如果选择了Check Memory Bounds(内存边界检查),类名也有可能为:Memory Overwrite Error
Total Created -程序运行期间创建的内存总数目
Live Count -当前还有多少数目内存未释放
Live Size -当前还有多大内存未释放
Total Size -程序运行期间创建的内存总大小
Resource profiler(系统资源使用监测)
跟踪程序运行期间,对操作系统资源(如fonts, brushes, bitmaps, and other graphic components, registry, COM objects, print spooler, etc.)的使用情况(如某时间片内,程序本身开销的系统资源、因这些资源带来的内存和CPU开销、来自于这些资源使用中出现的错误)使检测者很容易获知在程序运行期间与之相关系统资源的分配和使用情况。
测试结果报告
Module Name -分配这块资源的模块
Image -资源类型的图标
Coverage profiler(代码覆盖率分析)
代码覆盖率分析,测试出代码在运行过程中的执行情况。它提供routine 和 line两种级别,可以帮助查找出程序中的无用代码。
Routine Name -方法名称
Hit Count -方法执行时被记录的次数。这个属性不一定完全等于这个方法被运行的次数,如果测试过程中选择了Run-Disable Profiles停止记录的话,Hit Count将不会增加计数,而是增加Skip Count计数,所以,一个方法的完整运行次数应该等于:Hit Count + Skip Count
Total Lines -方法中总的代码行数,如果没有选择Line测试级别的话,将不会有统计结果。(注意代码的行数统计包括方法的Begin End,也就是说一个空的过程的代码行数也会有2行)
Lines Uncovered -方法中未被执行的代码行数
% Covered -代码覆盖率=(Total Lines-Lines Uncovered)/ Total Lines
Mark -该方法在运行期间是否被运行过
AQtime 7不能启动解决方案
安装好AQtime后,点击其快捷方式,想输入激活代码,但是AQtime的界面显示后,就停在那里了,一动也不动。其实就是程序hang住了。
解决方法1:
在程序启动参数后面加上"/ns"后缀,例如,AQtime的启动目录是: "C:/Program Files/Automated QA/AQtime 6/Bin/AQtime.exe",则用命令行"C:/Program Files/Automated QA/AQtime 6/Bin/AQtime.exe“ /ns来启动。
如果该方法还是不能解决,只能用windbg,记录下dump信息,传给AQtime公司来解决了。
原因:
据AQtime Support的人说,windows update改变了操作系统的某些基本功能,导致了这个问题,该update从xp系统就开始影响起。AQtime 7会修复此问题。
附:
如何用windbg导出dump信息:
1. 下载windbg:http://msdl.microsoft.com/download/symbols/debuggers/dbg_x86_6.11.1.404.msi 并安装;
2. 当AQtime hang住时,打开命令行,输入:"C:/Program Files/Debugging Tools for Windows (x86)/windbg.exe" -pn AQtime.exe -Q -pd -c ".dump /m C:/Dump1.dmp;q"