主要内容

调试一个独立的Stateflow图表

一个独立的Stateflow®图是一个MATLAB®类定义了有限状态机的行为。独立的图表与MATLAB实现经典图表语义动作语言。可以程序图通过使用MATLAB的全部功能,包括那些功能限制模型的代码生成金宝app®。有关更多信息,请参见为执行为MATLAB对象创建Stateflow图表

启用调试、设置断点在独立的图表或MATLAB脚本执行的图表。断点暂停执行的图表。执行时停顿了一下,你可以通过每个操作步骤图,查看数据值,并与MATLAB交互工作区检查表的状态。

请注意

当调试一个独立的图表,你从一个MATLAB脚本执行,首先打开Stateflow编辑器。试图调试一个独立的图打开编辑器之前至少一次可以产生意想不到的结果。

有关调试Stateflow图表在仿真软件模型的信息,明白了金宝app调试Stateflow图表

设置和清除断点

断点出现圆形红色徽章。例如,这张表包含断点的状态一个的过渡一个B

你可以在图表、设置断点和转换。

断点在图表

上设置一个断点图表,在图表上单击右键并选择设置断点表条目。这种类型的断点暂停执行之前进入图表。

内删除断点,右键单击图表并清除设置断点表条目选择。

断点的状态和转换

你可以设置不同类型的断点的状态和转换。

对象 断点的类型
状态

在国家入境——暂停执行之前执行状态条目行动。

在国家——暂停执行之前执行状态行动。

在国家出口——暂停执行之后执行状态退出行动。

过渡

当过渡是测试-暂停执行测试之前的过渡是一个有效的路径。如果条件不存在过渡,这个断点类型是不可用的。

当过渡是有效的-暂停执行后过渡是有效的,但是在过渡。

设置一个断点状态或过渡,右键单击状态或转换和选择设置断点。州,默认的断点在国家入境在国家。转换,默认的断点当过渡是有效的。改变断点的类型,点击断点面板并选择不同配置的断点。有关更多信息,请参见管理断点的类型和条件

删除断点,右键单击状态或转换和选择清晰的断点。删除所有断点的图表,在图表上单击右键并选择在图表中清除所有断点

管理断点的类型和条件

一个断点徽章可以代表多个断点的类型。看到一个提示,列出了断点设置在一个状态或转换的类型,指出其徽章。在这个例子中,国家的徽章一个代表两个断点的类型:在国家入境在国家

改变一个对象的断点的类型,点击断点徽章。在“断点”对话框中,您可以选择不同的配置的断点,根据对象类型。清除所有复选框的断点对话框删除断点。

限制的次数执行停止在一个断点处时,添加一个条件断点。默认情况下,Stateflow图表暂停当它到达一个断点。当你添加一个条件断点,断点的图表停顿只有当条件为真。例如,这些条件的断点的状态一个暂停执行图的价值只有当x是负的。

指定一个条件断点,您可以使用任何有效的MATLAB表达式,结合数值和Stateflow断点数据对象的范围。

控制图断点后执行

当执行停止在一个断点,Stateflow进入调试模式。

  • MATLAB命令提示修改K > >

  • 这些符号窗格显示图表中的每个数据对象的值。

  • 图表突出活跃元素在蓝色和绿色的当前执行的对象。

例如,当执行断点的停止状态一个,国家边界的第一个语句条目行动出现高亮显示为绿色。

执行状态的徽章出现在图形对象执行暂停。

徽章 描述

执行停在进入一个图表或状态条目行动。

执行暂停状态行动。

执行暂停状态退出行动。

执行测试过渡前停了下来。

执行前停了一个有效的过渡。

图是停在一个断点时,您可以继续执行通过使用:

  • 按钮的调试选项卡

  • MATLAB命令窗口

  • 键盘快捷键

行动 调试选项卡按钮 MATLAB命令 键盘快捷键 描述
继续

dbcont Ctrl + T

继续执行下一个断点。

跨过

dbstep F10

提前在图表执行下一步。在表级别,可能的步骤包括:

  • 输入图

  • 执行转换操作

  • 激活状态

  • 执行国家行动

有关更多信息,请参见执行Stateflow图表

一步

dbstep在

从一个状态或转换操作调用一个函数,函数中的第一个可执行语句。

在一份声明中包含另一个函数调用一个函数,提前在第二个函数第一个可执行语句。

否则,提前在图表执行下一步。(见跨过选项。)

走出

dbstep出来 Shift +季

从函数调用,返回到调用函数的声明。

否则,继续执行下一个断点。(见继续选项。)

停止

dbquit Ctrl + Shift + T

退出调试模式和中断执行。

当您执行独立图表从Stateflow编辑器,这个动作从MATLAB中删除对象的图表工作区。

在州或过渡动作包含不止一个声明,可以通过个人陈述一次选择跨过。强调每个语句执行前Stateflow编辑器。

请注意

因为独立图表定义时序逻辑所而言,一个时序逻辑算子可以成为有效的图表时停在一个断点。在这种情况下,图退出调试模式和执行继续下一个断点。

检查和修改图表数据的值

当Stateflow在调试模式下,符号窗格显示图表中的每个数据对象的值。你也可以检查数据值指向一个州或一个过渡的图表。一个工具提示显示每个数据对象的值用于所选的状态或转换。

测试你的图表的行为,在符号窗格中,您可以更改数据对象在执行期间的价值。另外,在调试提示,输入新值通过使用关键字在图表对象名称。例如,改变本地数据的价值x,输入:

这一点。x = 7
新值出现在符号面板。

请注意

当调试仿真软件模型中的一个图表,不要使用关键字金宝app。相反,您可以直接访问所有Stateflow数据调试提示。有关更多信息,请参见在MATLAB命令窗口查看和修改数据

相关的话题