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

1元 10元 50元





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



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center 汽车系统工程   模型库  
会员   
   
LLM大模型与智能体开发实战
12月28-29日 北京+线上
用SysML和EA系统建模
12月25-26日 北京+线上
需求分析与管理
2026年1月22-23日 北京+线上
     
   
 订阅
软件运行分析(1)-基于模型的调试和跟踪
 
 
作者:刘利、俎涛(火龙果软件工程)
 
  3749   次浏览      52 次
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系列

后记

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

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

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

课程:

工具:

咨询方案:

 

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

 

 

   
3749   次浏览       52 次
 
相关工具

文档生成器(DocGenerator)
代码工程师 Code Engineer
模型检查器 Checker
WebEA
自动建模器(AutoModeler)
 
相关文章

ASPICE 4.0 过程指南
采用SysML对FPGA逻辑单元进行建模(对应到VHDL代码)
DoDAF建模图例(EA+UPDM)
EA集成第三方工具:Polarion、JIRA、AzureDevOps
UML建模指南(建模工具iSpace)
 
相关课程

ASPICE4.0核心开发过程指南
使用NML进行系统分析与建模
基于UML和EA进行系统分析设计
业务建模与业务分析
基于SysML和EA进行系统设计与建模

工具新闻
2025年6月 EA v17.1 发布
2024年6月 EA v17.0 Beta版发布
2022年11月 EA v16.1的发布说明
2022年11月 EA v16.1正式版介绍
2022年7月 EA v16.05的发布说明
 
最新文章
SysML图解
UAF 过程指南
代码逆向模型:QT插件Demo
基于企业架构的企业数字化指南
采用SysML对FPGA逻辑单元进行建模
DoDAF建模图例(EA+UPDM)
硬件模型:智驾域控制器(建模工具EA)
UML建模指南(建模工具iSpace)
更多...   
MBSE工具
MBSE平台
建模工具 EA
模型库-Model Center
需求管理-ReqManager
自动建模-Modeler
多级仿真-Sys Simulator
代码工程-Code Engineer
文档生成器-DocGenerator
更多...   
成功案例
某汽车整车企业 MBSE工具链和咨询服务
航天三院某研究所 建模工具、模型库和咨询
零跑汽车 建模工具EA及服务
赛力斯 MBSE工具链和培训服务
高合汽车研发部门 建模工具EA、WebEA、
广汽研究院 SysML+EA+软件分析设计
高合汽车研发部门 建模工具EA、WebEA、
国汽智联 建模工具EA、模型库、WebEA
更多...