1.运行分析是什么
EA中的执行分析器中由一组和代码相关的工具组成,可以进行构建、调试、记录执行、分析、模拟以及构建和验证软件程序,同时保持代码与模型紧密集成。EA对各种流行的编译器和平台都提供了支持,尤其是Java,.Net和C++等环境。在这里软件开发成为一种高度简化的视觉体验,与在传统环境中工作完全不同。
接下来主要介绍构建、调试、分析和记录执行等功能。
首先对代码逆向成类图,将代码以可视化的形式在 EA 中查看
配置“ Local Paths ”
注:这里以 c# 代码为例,所以需要用到工具 Visual Studio 2019 ,以下配置的内容代表:变量 “%MSVS%” 指向地址 “D:\Program Files (x86)\2019\Community\Common7\IDE” ( Visual Studio 2019 安装地址)
2.构建和调试:程序
2.1 分析器脚本( Analyzer Scripts )
运行分析器主要由分析器脚本配置。分析器脚本由一组已经整理好的树形结构图来管理,可以快速定位要更改的特性。
选择 Execute > Tools > Analyzer ,打开分析器脚本
点击添加脚本信息,配置关联的包
点击 ok 则创建成功
双击脚本打开配置页面进行配置
构建代码
" %MSVS% \devenv.com" /clean Debug MBServer.sln |
配置默认地址和编译语言
清理代码
" %MSVS% \devenv.com" /clean Debug MBServer.sln |
配置默认地址和编译语言
一个项目可以有多个配置,这些配置可以在分析器窗口。
2.2 构建应用程序( Build Application )
当执行构建操作时,构建操作的进度和结果显示在的“构建”选项卡中系统输出窗户。
配置完脚本信息后,可以选中脚本,右键点击 “Build”
如果没有问题,会显示构建成功,如下图。
2.3 排除故障( Debugging )
在 EA 中进行故障排除有多个优点:
速度: 可以花费很少的时间调试出结果。
支持多种语言: C++ 、 C 和 VB 、 Microsoft .NET, ASP.NET , WCF 等。
隔离:调试器在 EA 的进程外运行,将其与 EA 隔离开来。
Debug 配置:编译语言,缺省地址,应用程序地址
配置完脚本信息后,可以选中脚本,右键点击 “Debug”
输出以下结果
如果没有问题,将会运行程序
3. 程序的运行分析
点击“ Execute > Tools > Profiler ”,打开分析面板
3.1 抽样分析
打开 Profiler 面板,在这里,可以对现有的进程进行分析,或者对分析器脚本的应用程序进行分析。 Profiler 窗口分析时会显示目标进程的详细信息,这些详细信息让用户可以看到采集的样本数量。还可以选择暂停和恢复捕获、清除捕获的数据和生成报告。
点击“ ”开始执行程序,点击 进行抽样,点击之后会变成绿色
3.2 分析报告
抽样完成后可以查看加权调用图、摘要报告、命中分析
加权调用图:显示了一组独特的调用堆栈。每个分支的权重由命中计数来描述,命中计数是该分支加上从该点开始的所有分支的总命中数。通过跟踪命中轨迹,可以快速识别在捕获期间占用程序最多的代码。
摘要报告:函数摘要
命中分析:
函数 : 函数的名称 ( 如果函数名不可用,例如 Windows 系统 DLL ,则显示模块名。 )
命中数 : 执行函数时所采集的样本数。
深度 : 发生命中的帧号或堆栈深度。
出现次数 : 函数在这个堆栈深度被命中的次数(特定函数的命中次数是根据采样时的堆栈帧深度汇总的。)
4. 程序执行的录制与分析
点击“ Execute > Tools > Recorder > Open Recorder ”,打开录制面板
4.1 录制
在 EA 中打开代码文件,找到需要录制的代码行,放置录制标记(和设置断点类似,右键选中行,点击放置开始录制标记)
可以选中脚本,右键点击 “Debug” ,在录制面板中将会显示录制信息,如下图
4.2 控制录制窗口
该控件有一个工具栏和一个历史窗口,该窗口显示捕获的记录历史。此窗口中的每个条目代表一个由一个或多个函数调用组成的调用序列。
按钮 |
描述 |
|
显示选项菜单,用于定义记录会话的操作内容。 |
|
选择标记集的记录堆栈深度;即从录制开始点开始的帧数。 |
|
启动并记录脚本中描述的应用程序;您可以选择记录标记集和 / 或状态机,以便在记录过程中使用。
当活动的 Analyzer 脚本被配置为用于调试时,该图标处于启用状态。 |
|
在调试会话期间执行当前线程的临时手动记录。\ |
|
在调试会话期间执行临时自动记录。 |
|
单步执行一个函数,在 历史窗口 ,退了出去。
仅允许手动录制。 |
|
停止记录执行跟踪。 |
|
显示 “ 同步模型 ” 对话框,通过该对话框可以将模型与记录配置文件操作期间生成的代码文件同步。 |
4.3 基于执行记录进行分析
分析有好几种方法:
顺序图:函数的调用关系图。
测试点图:不能写测试,但是可以做一些其他工作,例如识别类,并分析筛选出参与用例的函数。
类图:类之间的依赖关系,并分析出用例涉及的类。
可以选择生成顺序图、测试点图、类图等
运行分析 Execution Analysis系列
后记
希望您读了此文后有所受益。
如果您有经验乐于分享,欢迎投稿给我们。
如果您对我们的培训、咨询和工具感兴趣:
课程:
工具:
咨询方案:
如果您希望了解更多信息:
|