真理値表でのエラーのデバッグ
真理値表の指定が終了したら、そのデバッグ プロセスを開始します。最初の手順は、真理値表の過剰指定と過少指定の修正の説明に従って、診断を実行して真理値表の構文エラー (過剰指定や過少指定など) をチェックすることです。さらに、真理値表にブレークポイントを直接追加し、シミュレーション中にデバッグを行うことができます。
真理値表は、MATLAB® 内のスタンドアロンの Stateflow® チャートではサポートされません。詳細については、真理値表を使用して組み合わせ論理をモデル化を参照してください。
診断の実行による構文エラーの検出
構文エラーをチェックするには、以下のようにします。
真理値表をダブルクリックします。
真理値表で、[診断の実行] をクリックします。
たとえば、判定列 D4 のアクションを存在しないアクションに変更した場合は、エラー メッセージが診断ビューアーに表示されます。
真理値表の診断は、新しい真理値表または修正された真理値表でモデルのシミュレーションを行うと自動的に実行されます。エラーが存在しない場合は、診断ウィンドウは表示されず、シミュレーションが即時に開始されます。
ブレークポイントを使用してロジックをデバッグ
Stateflow の真理値表でブレークポイントを使用すると、シミュレーションを一時停止してロジックをデバッグできます。ブレークポイントによってシミュレーションが一時停止したら、アクションをステップ実行して、シミュレーションの特定のポイントにおけるデータ値を調べることができます。
真理値表では、次のような異なるタイプのブレークポイントを設定できます。
条件テスト
判定テスト
判定が有効
アクション実行
シミュレーションがブレークポイントで停止した後は、Stateflow エディターのツール バーの MATLAB コマンド プロンプトで、またはキーボード ショートカットを選択することにより、チャートを引き続き実行できます。
ツール バー アイコン | オプション | コマンド | 説明 | キーボード ショートカット |
---|---|---|---|---|
| 続行 | dbcont | 次のブレークポイントまでシミュレーションを続行します。 | Ctrl + T |
| ステップ オーバー | dbstep | 真理値表実行の次のステップに進みます。 | F10 |
| ステップ イン | dbstep in | 関数を呼び出すステートまたは遷移のアクションからは、関数内の最初に実行可能なステートメントに進みます。 別の関数呼び出しを含む関数内のステートメントからは、2 番目の関数内で最初に実行可能なステートメントに進みます。 それ以外の場合は、真理値表実行の次のステップに進みます (「ステップ オーバー」を参照)。 | F11 |
| ステップ アウト | dbstep out | 関数呼び出しからは、関数を呼び出すステートメントに戻ります。 それ以外の場合は、次のブレークポイントまでシミュレーションを続行します (「続行」を参照)。 | Shift+F11 |
| ステップを進める | デバッグ モードを終了し、次のタイム ステップの前にシミュレーションを一時停止します。 | ||
| 停止 | dbquit | デバッグ モードを終了し、シミュレーションを停止します。 | Ctrl + Shift + T |
条件のブレークポイント
条件テスト時のブレークポイントを設定するには、条件セルを右クリックして [ブレークポイントの設定 (テスト済みの条件)] を選択します。表の左端、条件の番号の横に、赤のバッジが表示されます。モデルを実行すると、条件のテスト時にシミュレーションが一時停止します。Stateflow では、テスト中の条件行が強調表示されます。真理値表でデータにカーソルを合わせると、その現在の値が表示されます。
判定のブレークポイント
判定テスト時のブレークポイントを設定するには、判定列の上部を右クリックして [ブレークポイントの設定 (テスト済みの判定)] を選択します。判定列の上部、判定の番号の横に、赤のバッジが表示されます。モデルを実行すると、判定のテスト時にシミュレーションが一時停止します。Stateflow では、テスト中の判定列が強調表示されます。真理値表でデータにカーソルを合わせると、その現在の値が表示されます。
判定が有効な場合のブレークポイントを設定するには、判定列の下部のアクション セルを右クリックして [ブレークポイントの設定 (有効な判定)] を選択します。セルの上部、アクション番号の横に、赤のバッジが表示されます。モデルを実行すると、アクションが有効なときにシミュレーションが一時停止します。Stateflow では、有効な判定が強調表示されます。真理値表でデータにカーソルを合わせると、その現在の値が表示されます。
判定が有効なときに実行するアクションが複数ある場合、ブレークポイントは最初の実行可能なアクションに設定されます。
アクションのブレークポイント
アクション実行時のブレークポイントを設定するには、アクション セルを右クリックして [ブレークポイントの設定 (アクション実行)] を選択します。表の左端、アクションの番号の横に、赤のバッジが表示されます。モデルを実行すると、アクション実行時にシミュレーションが一時停止します。Stateflow では、テスト中のアクション行が強調表示されます。真理値表でデータにカーソルを合わせると、その現在の値が表示されます。
アクション セル内に複数のアクションがある場合、ブレークポイントは最初のアクションに設定されます。
ブレークポイントの編集
ブレークポイントをクリックすると、[Edit Breakpoint] ダイアログ ボックスが開きます。このウィンドウから、[ブレークポイントを有効にする] チェック ボックスをオフにして、ブレークポイントを無効にすることができます。
ブレークポイントに条件を追加すると、ブレークポイントがシミュレーションを一時停止するのは、関連する条件が true
の場合のみとなります。