描述
break 命令使您能够对给定事件添加或除去断点。
语法
break <object> <op> <breakPointType> <data>
自变量
对象
指定对象。此项指定必须是 #All、有效的类名或者有效的实例名。
对一个类设置断点意味着对它的所有实例和子类设置断点。
op
指定操作。可能的值是 +、-、add 或 remove。缺省值是 add。
breakPointType
指定断点类型。可能的值如下所示:
- instanceCreated 仅对类有意义。在这个类的新实例(或者它的子类)被创建时中断。
- instanceDeleted 表示,在实例(类的实例)被删除时中断。
- termination 表示,在实例(类的实例)到达终止连接器时中断。如果该实例以进入终止连接器以外的方式被删除,那么不中断。
- stateEntered <state name>
表示,如果指定了状态名称,那么将在实例(类的实例)进入该状态时中断。如果省略了状态名称,那么将在实例进入任何状态时中断。
- stateExited <state name>
表示,如果指定了状态名称,那么将在实例(类的实例)退出给定状态时中断。如果省略了状态名称,那么将在实例退出任何状态时中断。
- state <state name>
表示,如果指定了状态名称,那么将在实例(类的实例)进入或退出给定状态时中断。如果省略了状态名称,那么将在实例退出或进入任何状态时中断。
- relationConnected <relation name>
表示,如果指定了关系名称,那么将在新实例连接到此实例(此类的实例)的给定关系时中断。如果省略了关系名称,那么将在新实例连接到任何关系时中断。
- relationDisconnected <relation name>
表示,如果指定了关系名称,那么将在此实例(此类的实例)的给定关系中的实例被除去时中断。如果省略了关系名称,那么将在任何关系中的实例被除去时中断。
- relationCleared <relation name>
表示,如果指定了关系名称,那么将在此实例(此类的实例)的给定关系被清除时中断。如果省略了关系名称,那么将在任何关系被清除时中断。
- relation <relation name>
表示,如果指定了关系名称,那么将在新实例连接到此关系、此关系中的实例被删除或者此实例(此类的实例)的关系被清除时中断。如果省略了关系名称,那么将在新实例连接到任何关系、任何关系中的实例被删除或者任何关系被清除时中断。
- attribute 仅对实例有意义。在给定实例的任何特性更改时中断。设置断点时,将存储此实例的特性值的副本。当任何特性值相对于此副本发生更改时,将发生中断。发生中断后,将保留新值(修改后的值)的副本作为参考。
- gotControl 表示,在此实例(此类的实例)获得控制权时中断。实例在开始执行它的其中一个由用户定义的操作、响应事件或者从另一对象中调用的操作完成后继续执行时获得控制权。
- lostControl 表示,在此实例(此类的实例)丢失控制权时中断;实例在完成执行某项操作并返回、完成响应事件或者调用另一对象的操作时丢失控制权。
- operation <operation name>
表示,如果指定了操作名称,那么将在此实例(此类的实例)开始执行指定操作时中断。如果省略了操作名称,那么将在此实例开始执行它的任何由用户定义的操作时中断。
- operationReturned <operation name>
表示,如果指定了操作名称,那么将在此实例(此类的实例)执行指定操作后返回时中断。如果省略了操作名称,那么将在此实例执行它的任何由用户定义的操作后返回时中断。
- eventSent <event name>
表示,如果指定了事件名称,那么将在此实例(此类的实例)发送指定事件时中断。如果省略了事件名称,那么将在此实例发送任何事件时中断。
- eventReceived <event name>
表示,如果指定了事件名称,那么将在此实例(此类的实例)接收指定事件时中断。如果省略了事件名称,那么将在此实例接收任何事件时中断。
- all 指示所有断点。此关键字只能用于除去所有断点。
例如,以下命令将除去 B[5] 上的所有断点:
break B[5] - all
以下命令将除去动画中的所有断点:
break #all - all
data
依赖于上下文。请参阅 breakPointType。需要接收数据的断点将随数据参数一起显示(数据参数括在尖括号中)。
对某个事件设置断点将导致执行在该事件发生时停止。例如,以下命令将导致执行在
B[2] 进入状态 ROOT.S1
时停止:
break B[2] stateEntered ROOT.S1
保存断点
要保存断点,请将其写入文件(例如
myBreakPoints.cfg)。保存断点后,可以在下次运行应用程序时通过输入以下命令重新插入这些断点:
input myBreakPoints.CFG