您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 
 订阅
软件运行分析(1)-基于模型的调试和跟踪
 
 
作者:刘利、俎涛(火龙果软件工程)
 
   次浏览      
2023-6-7

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系列

后记

希望您读了此文后有所受益。

如果您有经验乐于分享,欢迎投稿给我们。

如果您对我们的培训、咨询和工具感兴趣:

课程:

工具:

咨询方案:

 

如果您希望了解更多信息:

 

 

   
次浏览       
 
相关文章

用户手册:EA Helper
自然语言自动化生成图
使用iSpace进行多人协作建模
基于模型的软件复用(MBSR)
 
相关文档

AUTOSAR_TR_BSW UML模型建模指南
UML时间图建模(基于EA)
UML 模型框架(基于EA)
UML序列图编写规范
 
相关课程

UML+EA+面向对象分析设计
UML + 嵌入式系统分析设计
业务建模与业务分析
基于UML和EA进行系统分析设计

工具新闻
2024年6月 EA v17.0 Beta版发布
2022年11月 EA v16.1的发布说明
2022年11月 EA v16.1正式版介绍
2022年7月 EA v16.05的发布说明
2022年4月 EA16.0 正式版发布
 
最新文章
在EA中内嵌文档- Artifact
EA中模型视图
EA中的实体关系图
使用EA进行风险建模
EA中的项目词汇表
EA的模型导出或导入csv文件
自定义表格(Custom Table)在EA中的使用
Gap Analysis Matrix(差距分析矩阵)
更多...   
MBSE工具
MBSE平台
建模工具 EA
模型库-Model Center
需求管理-ReqManager
自动建模-Modeler
多级仿真-Sys Simulator
代码工程-Code Engineer
文档生成器-DocGenerator
更多...   
成功案例
广汽研究院 SysML+EA+软件分析设计
高合汽车研发部门 建模工具EA、WebEA、学习视频
国汽智联 建模工具EA、模型库、WebEA和iSpace
亿咖通 MBSE工程体系与工具链咨询
中航无人机 MBSE工具链
吉利汽车 购买EA工具
华科汽车零部件 购买EA工具
东风岚图汽车 购买EA工具 以及EA定制开发
更多...