某些原因可能需要其他数据。例如,如果要在对象进入特定状态时重新获得控制权,那么必须提供状态名称。如果未提供状态名称,那么该对象进入任何状态都会导致发生中断。
下表列示断点的可能原因以及您可以为每个断点提供的可选数据(如果有)。
| 中断原因 | Object | 数据 | 描述 |
|---|---|---|---|
| 创建实例 | 类 | 无 | 在创建类的任何实例时中断。 |
| 删除实例 | 类或实例 | 无 | 在删除类的任何实例时中断。 |
| 终止 | 类或实例 | 无 | 当实例到达其状态图中的终止连接器时中断。 |
| 进入状态 | 类或实例 | 状态名称 | 在实例进入某个状态时中断。 |
| 退出状态 | 类或实例 | 状态名称 | 在实例退出某个状态时中断。 |
| 状态 | 类或实例 | 状态名称 | 在实例发生以下情况时中断: |
| 连接关系 | 类或实例 | 关系名称 | 在新实例连接到某个关系时中断。 |
| 断开关系 | 类或实例 | 关系名称 | 从关系中除去实例时中断。 |
| 清除关系 | 类或实例 | 关系名称 | 在清除实例的关系时中断。 |
| 关系 | 类或实例 | 关系名称 | 在以下情况下中断: |
| 属性 | 实例 | 无 | 在实例的任何特性更改值时中断。系统将存储特性值的副本并将当前值与此副本进行比较。发生中断时,将使用最新的值来更新该副本。 |
| 获得控制权 | 类或实例 | 无 | 在实例通过下列方式获得控制权时中断: |
| 失去控制权 | 类或实例 | 无 | 在实例通过下列方式失去控制权时中断: |
| 操作 | 类或实例 | 操作名称 | 在实例开始执行用户定义操作时中断。 |
| 操作返回 | 类或实例 | 操作名称 | 在实例执行用户定义操作后返回时中断。 |
| 发送事件 | 类或实例 | 事件名称 | 在实例发送事件时中断。 |
| 接收事件 | 类或实例 | 事件名称 | 在实例接收事件时中断。 |