预订演示

请注意 : 本帮助页面不适用于最新版本的Enterprise Architect. 最新的帮助文档在这里.

前页 后页

调用图

  • 快速发现程序在任何时间点正在做什么
  • 轻松识别性能问题
  • 惊讶于您能以多快的速度实现改进
  • 查看您在工作中的改进并拥有证据
  • 支持 C/C++ .NET和Java平台

用途

“调用图”选项通常用于活动执行速度比预期慢的情况,但它也可以简单地用于更好地理解活动期间的行为模式。

手术

Profiler 通过在一段时间内定期采样 - 或调用堆栈 - 进行操作;使用 Profiler 工具栏设置间隔。您可以使用运行特定程序,也可以附加到现有进程。 Profiler 捕获是受控的,您可以随时暂停和恢复捕获。您还可以选择在 Profiler 启动时立即启动捕获。如有必要,您可以丢弃任何捕获的样本并在同一会话期间重新开始。如果您无法继续进行相同的会话,重新启动 Profiler 既快捷又简单。

注记“进程时间(estimated)”字段显示被分析的进程已经运行了多长时间的估计,考虑到分析器在收集样本时对进程的中断。

结果

会议期间可随时产生结果;但是,必须禁用捕获才能使“报告”按钮变为活动状态。让运行多长时间由您决定。您可能知道活动何时完成,或者由于其他原因可能很明显。您在这里的原因可能是一项活动根本没有完成。

报告按钮将通过暂停捕获或完全停止 Profiler 来启用。

结果显示在报告视图中。报告打开时最初可见三个选项卡:调用图、摘要报告 (函数摘要) 和命中分析选项卡。报告可以保存为文件,存储在模型工件中或张贴在团队图书馆中。

调用图选项卡

摘要报告选项卡

命中分析选项卡

“命中分析”选项卡显示了许多列:

  • 函数:函数的名称(如果模块没有符号,则为模块)
  • Hits:执行函数的采样数。
  • 深度:发生命中的帧号或堆栈深度。
  • Occurrences:函数在此特定堆栈深度处被命中的次数
特定函数的命中数根据采样时的堆栈帧深度进行聚合。

如果函数名不可用,例如窗口系统DLL,如 User32 或没有调试信息的 DLL,则显示模块名。