AQtime学习资料

2019-04-23 18:58

AQtime的简介

参考文献:AutomatedAQ's AQtime

一、AQTIME的功能:

AQTIME含有完整的性能和调试工具集,能够收集程序运行时关键的性能信息和内存/资源分配信息,并提交概要报告和详细报告,还提供所有的程序优化处理工具,囊括了自定义过滤器、图形化的调用层次结构一直到源代码浏览等内容。AQTIME的特色在于它不仅是一款调试工具,还是一款性能优化工具。另外,还支持与基于SCC API的版本控制软件集成使用。

二、AQTIME的界面:

对以上界面中的相关面板的功能进行描述:

1.主面板:

1).Setup:

此面板配置需要收集信息的程序。 2).Event View:

此面板用来显示收集待测程序的过程中,它所发生消息和事件信息。 3).Report:

结果报告。值得注意的一点是:如果待测程序使用的是多线程方式,那么在此面板的Thread下拉菜单中可以选择单一线程或者所有线程,另外对结果信息可以进行过滤。 4).Explorer:

树形结构,方便对结果的管理和浏览。

2.结果面板:

1).Details:

此面板用来显示Report Panel中选中的某一行结果的附加(细节)信息。 2).Call Graph:

以图形的方式显示函数调用关系以及调用次数。 3).Call Tree:

以树形的方式显示函数调用关系。 4).Editor:

源代码显示框。如果待测程序有源代码支持的话,可以配置相应工程路径并在此窗口显示,可以用于性能测试和代码覆盖率测试。 5).Summary:

摘要信息。测试结果的摘要统计信息,通过此面板可以找到可以优化的routines 和 classes。 6).Disassembler:

反汇编代码的显示。

3.AQTime的右侧面板:

1).Assistant:

AQTIME的帮助信息,以上的所有资料就是通过它查到的。 2).PE Reader:

PE Reader面板提供AQTIME主模块的执行信息。通过它可以很容易地看到在程序装入时有哪些模块被链接到,从而判断出哪些模块对应用程序的功能实现是有用的。 3).Monitor:

监控面板,实时地监控已分配的内存的大小、已存在的对象句柄信息等。此面板在Allocation Profiler中使用。

三、AQTIME的使用步骤:(一般情况下)

1.Compiling your application with debug information. 2.Opening your application in AQtime.

3.Controlling what to profile and when to profile. 4.Selecting the profiler to run.

5.Running the selected profiler and analyzing the results.

四:AQTIME Profilers:

1.Allocation(资源测试):

测试资源分配释放情况,检查内存泄漏。 ? 资源测试

?

内存测试

2.Coverage(代码覆盖率测试):

测试出代码在运行过程中的执行情况。它提供routine 和 line两种级别,可以帮助查找出程序中的无用代码。有时手工调试时,可能只调试了部分代码,有些代码没有运行到。这部分没有运行到的代码,很可能会产生问题。可通过软件运行,保证所写代码达到98%以上都运行过,并没有产生问题。

3.Performance(性能测试):

在程序执行期间,工具自动收集运行时的性能表征数据(如调用次数、执行时间、调用与被调用函数、函数调用层次图、执行期间发生的异常情况等等)。此外,工具提供与运行时间、CPU缓存使用等相关的多种计数器[如Elapsed Time、User Time、User+Kernel Time、CPU Cache Misses、

Context Switches等],为了解应用代码级和应用程序级上的性能使用和确定可能存在的性能瓶颈提供详实的参考数据。

4.Static Analysis(静态分析) :

?

Platform ComplianceAPI(API平台支持测试),程序中使用的API函数与特定平台的兼容性分析,识别出与操作系统不兼容的函数。这样不用手工在不同操作系统上安装软件,就能正确分析出,软件可以在什么样操作系统上运行。

Sequence Diagram Link(UML关系图)自动识别出待测程序中的函数调用关系,自动生成UML格式时序图,并通过word或visio格式显示。

Static Analysis(静态分析),静态分析并标识出待测程序的内部结构[如UML时序图、函数间调用关系、存在的循环语句、判断语句、异常处理]和程序规模[Bytes、lines]。

? ?

5.Exception Tracer(异常跟踪):

监测程序运行期间出现的预知和未知异常,并将异常在源代码中进行定位。当程序出现异常时,Event Log窗口会记录下来,再Event View窗口选中异常查看,在Editor窗口中可以查看到当前异常所在的代码位置。这样可以减少手工跟踪的时间。

五、AQtime的初次尝试:

源代码:LuboView

开发环境:Visual Studio C++ 2005

1.设置Microsoft Visual C++ 2005的编译模式:

AQTime的帮助文档中提到: 默认情况下,Microsoft Visual C++ 2005的编译模式已经设置为Debug,并且在DEBUG中已经包含了有价值的信息,但是因为我们所测试的程序是最终的发布版本Release,所以强烈建议将the active configuration改为Release ,当然前提是做性能测试。 设置方法:

1).在Visual Studio 2005中打开工程。

2).在主菜单下,选择Build | Configuration Manager ,在弹出的窗口Configuration Manager对话框中,选择Release Configurations。

关闭对话框。

3).在Solution Explorer 上单击右键并选择Properties。

4).切换至Configuration Properties | C/C++ | General页面,将Debug Information Format 对应的内容选成Program Database 或者 Program Database for Edit & Continue 。

5).打开Configuration Properties | Linker | Debugging属性页面,将Generate Debug Info选项设为Yes(/DEBUG)。

6).点击OK保存配置,并且重新构建程序。

用AQTime打开待测程序之前,确保工程文件的output目录下存在.pdb文件。另外,此目录下需包含vcX0.pdb文件,其中X代表Visual C++的版本,比如:Visual C++ 8.0对应的文件名为VC80.pdb。vcX0.pdb文件中包含部分DEBUG信息,这对于AQTime的结果正确性是有帮助的。如果vcX0.pdb文件不是由Visual Studio产生的,那么很有可能造成Profiling时出现问题。如果测试的是Active X控件或者是COM Server的话,需要在系统中注册它的DEBUG版本。

2.Resource Profiler测试

1).新建项目File->New Project. 2).在Setup添加LuboView.exe。

3).选择Profiler为Resource Profiler。

4).点击Run按钮,在弹出的对话框中点击Run。 5).在Event View中可以查看到以下信息: Even t Product: AQtime; Version: 4.92.669.0 Work environment: Thread ID Time - Project run selected, current profiler is Resource Profiler. 15:18:30:843 - Host name: SOHU-ZGDM OS: Microsoft


AQtime学习资料.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:11-050职业技能鉴定指导书-变电站值班员(2)-高级技师

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: