Some reasons might require additional data. For example, if you want to regain control when an object enters a particular state, you must provide the state name. If a state name is not provided, the break occurs when the object enters any state.
The following table shows the possible reasons for breakpoints and what, if any, optional data you can provide for each breakpoint.
| Reason for break | Object | Data | Description |
|---|---|---|---|
| Instance Created | Class | None | Break when any instance of the class is created. |
| Instance Deleted | Class or instance | None | Break when an instance of the class is deleted. |
| Termination | Class or instance | None | Break when an instance reaches a termination connector in its statechart. |
| State Entered | Class or instance | State name | Break when an instance enters a state. |
| State Exited | Class or instance | State name | Break when an instance exits a state. |
| State | Class or instance | State name | Break when an instance: |
| Relation Connected | Class or instance | Relation name | Break when a new instance is connected to a relation. |
| Relation Disconnected | Class or instance | Relation name | Break when an instance is removed from a relation. |
| Relation Cleared | Class or instance | Relation name | Break when a relation is cleared for an instance. |
| Relation | Class or instance | Relation name | Break when: |
| Attribute | Instance | None | Break when any attribute of the instance changes value. A copy of the attribute values is stored and current values are compared to this copy. When a break occurs, the copy is updated with the latest values. |
| Got Control | Class or instance | None | Break when an instance gets control by: |
| Lost Control | Class or instance | None | Break when an instance loses control by: |
| Operation | Class or instance | Operation name | Break when an instance starts executing a user-defined operation. |
| Operation Returned | Class or instance | Operation name | Break when an instance returns from executing a user-defined operation. |
| Event Sent | Class or instance | Event name | Break when an instance sends an event. |
| Event Received | Class or instance | Event name | Break when an instance receives an event. |