前页 | 后页 |
可执行状态机的调试执行
可执行状态机的创建甚至在代码生成之后也提供了好处。使用执行分析器, Enterprise Architect能够连接到生成的代码。因此,您可以直观地调试和验证代码的正确行为;从您的状态机生成的完全相同的代码,由模拟演示并最终整合到现实世界的系统中。
调试状态机
能够调试可执行状态机会带来额外的好处,例如能够:
- 中断仿真的执行和所有正在执行的状态机
- 视图模拟中涉及的每个状态机实例的原始状态
- 在任意时间点视图源代码和调用堆栈
- 通过在源代码行上放置跟踪点来跟踪有关执行状态的其他信息
- 通过使用操作点和控件来执行控件(例如,错误时中断)
- 诊断由于代码或建模更改引起的行为变化
在状态转换中中断执行
像任何调试器一样,我们可以使用断点来检查代码中某个点的执行状态机。在图表或浏览器窗口中找到感兴趣的类,然后按
查看源代码。从生成期间使用的命名约定很容易找到状态转换的代码。如果您想在特定转换处中断,请在编辑器中找到转换函数,然后通过单击函数内一行的左边距来放置断点标记。当你运行可执行状态机时,调试器会在这个状态机停止,你可以查看任何涉及到的状态机的原始状态。有条件地中断执行
每个断点都可以采用条件和跟踪语句。当遇到断点并且条件评估为True时,执行将停止。否则执行将照常继续。您可以使用原始变量的名称构成条件,并使用标准相等操作数比较它们:< > = >= <=。例如:
(this.m_nCount > 100) 和 (this.m_ntype == 1 )
要将条件添加到您设置的断点,请右键单击断点并选择“属性”。按住
键的同时单击断点,可以快速编辑属性。追踪辅助信息
可以使用 TRACE 子句从状态机本身内部跟踪信息,例如效果。调试还提供称为跟踪点的跟踪特征。这些只是断点,而不是中断,在遇到它们时打印跟踪语句。输出显示在仿真控件窗口中。它们可以用作诊断辅助来显示和序列事件的顺序以及实例更改状态的顺序。
观看调用堆栈
每当遇到断点时,调用堆栈序列都可以使用 .使用分析器来确定执行的位置