說明
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