主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

チャートのデバッグのためのブレークポイントの設定

“ブレークポイント”を設定する際Stateflow®チャートのデバッグを有効にします。ブレークポイントは,チャートのステータスを確認できるようシミュレーションを一時停止する,Stateflowチャート上のポイントです。シミュレーションが一時停止している間,Stateflowデータの表示,MATLAB®ワークスペースの操作,およびシミュレーションのステップ実行を行うことができます。詳細については,Stateflowチャートのデバッグを参照してください。

ブレークポイントは,円形の赤のバッジとして表示されます。たとえば,以下のチャートでは,上移ステートと,steady_stateから上移への遷移にブレークポイントが含まれています。

Stateflowオブジェクトへのブレークポイントの設定

ブレークポイントは,チャート,ステート,遷移,グラフィカル関数,真理値表関数,およびイベントに設定できます。

チャート上のブレークポイント

チャートにブレークポイントを設定するには,チャート内を右クリックして[チャート条目時にブレークポイントを設定)を選択します。このタイプのブレークポイントは,チャートに入る前にシミュレーションを停止します。

ブレークポイントを削除するには,チャート内を右クリックして,[チャート条目時にブレークポイントを設定)オプションをオフにします。

ステートおよび遷移上のブレークポイント

ステートおよび遷移では,さまざまなタイプのブレークポイントを設定できます。

オブジェクト ブレークポイントのタイプ
ステート

時ステート条目——ステートの条目アクションを実行する前にシミュレーションを一時停止します。

在ステート——ステートのアクションを実行する前にシミュレーションを一時停止します。

ステート時退出——ステートの退出アクションを実行した後にシミュレーションを一時停止します。

遷移

遷移テスト時——遷移が有効なパスであることをテストする前にシミュレーションを一時停止します。遷移に条件がない場合は,このブレークポイントタイプは使用できません。

遷移が有効な場合——遷移が有効であると判明した後,その遷移が発生する前にシミュレーションを一時停止します。

ステートまたは遷移にブレークポイントを設定するには,ステートまたは遷移を右クリックして[ブレークポイントの設定)を選択します。ステートの場合、既定のブレークポイントは[ステー時ト条目)(在ステート]です。遷移の場合、既定のブレークポイントは[遷移が有効な場合)です。ブレークポイントのタイプを変更するには,ブレークポイントのバッジをクリックして,別のブレークポイントの構成を選択します。詳細については,ブレークポイントのタイプの変更を参照してください。

ブレークポイントを削除するには,ステートまたは遷移を右クリックして[ブレークポイントのクリア]を選択します。

Stateflow関数上のブレークポイント

グラフィカル関数または真理値表関数にブレークポイントを設定するには,関数を右クリックして[関数呼び出し時にブレークポイントを設定)を選択します。このタイプのブレークポイントは,関数を呼び出す前にシミュレーションを一時停止します。

ブレークポイントを削除するには,関数を右クリックして,[関数呼び出し時にブレークポイントを設定)オプションをクリアします。

イベント上のブレークポイント

イベント上では次の2つのタイプのブレークポイントを選択できます。

  • ブロードキャストの開始——イベントをブロードキャストする前にシミュレーションを一時停止します。

  • ブロードキャストの終了——Stateflowオブジェクトがイベントを読み取った後にシミュレーションを一時停止します。

使用可能なブレークポイントはイベントのスコープによって異なります。

イベントのスコープ ブロードキャストの開始 ブロードキャストの終了
ローカル 使用可能 使用可能
入力 使用可能 使用不可
出力 使用不可 使用不可

イベントにブレークポイントを設定またはクリアするには,プロパティインスペクターかモデルエクスプローラーを使用して[デバッガーのブレークポイント]プロパティを変更します。詳細については,デバッガーブレークポイントを参照してください。

ブレークポイントのタイプの変更

1つのブレークポイントバッジで複数のタイプのブレークポイントを表すことができます。Stateflowオブジェクトに設定されているブレークポイントのタイプをリストするツールヒントを表示するには、そのバッジにカーソルを合わせます。この例では、ステート上移のバッジは2つのブレークポイントタイプ[ステー時ト条目)(在ステート]を表しています。

オブジェクトのブレークポイントのタイプを変更するには,ブレークポイントバッジをクリックします。[ブレークポイント]ダイアログ ボックスでは、オブジェクト タイプに応じてさまざまなブレークポイントの設定を選択できます。

[ブレークポイント]ダイアログボックスですべてのチェックボックスをオフにすると,ブレークポイントが削除されます。

ブレークポイント条件の追加

シミュレーションがブレークポイントで停止する回数を制限するには,ブレークポイントに条件を追加します。既定では,Stateflowチャートは,ブレークポイントに達するたびに一時停止します。ブレークポイントに条件を追加すると、チャートは条件が真の場合にのみブレークポイントで一時停止します。

ブレークポイントに条件を追加するには,次を行います。

  1. [デバッグ]タブで,[ブレークポイントリスト]をクリックしてStateflowブレークポイントと監視ウィンドウを開きます。あるいは[ブレークポイント]ダイアログボックスの[ブレークポイントリスト]リンクをクリックしてブレークポイントと監視ウィンドウを開くこともできます。

  2. [ブレークポイント]タブを選択します。[ブレークポイント]タブにはチャート内のすべてのブレークポイントがリストされます。詳細については,ブレークポイントと監視ウィンドウを使用したブレークポイントの管理を参照してください。

  3. [条件]列に,ブレークポイントの条件を入力します。数値およびブレークポイントの位置でスコープ内にあるStateflowデータオブジェクトを組み合わせた任意の有効なMATLAB式を使用できます。

メモ

ブレークポイント条件式ではメッセージデータを使用できません。

たとえば,以下のチャートではsteady_stateから上移への遷移にブレークポイントが設定されています。このブレークポイントは,速度の値がup_thよりずっと低い場合であっても,この遷移がテストされるたびにシミュレーションを停止します。

遷移の前のチャートを調べるため,速度の値がup_thの値に近づいたときのみブレークポイントがシミュレーションを一時停止するようにします。ブレークポイントに条件速度> up_th-2を設定すると,速度の値がup_thの値から2以内である場合にのみシミュレーションは一時停止します。

シミュレーションが一時停止したら,変数速度およびup_thの値を調べてシミュレーションをステップ実行することができます。詳細については,デバッグ中のデータおよびメッセージの検査と変更ブレークポイント後のチャート実行の制御を参照してください。

ブレークポイントと監視ウィンドウを使用したブレークポイントの管理

チャート内のすべてのブレークポイントをStateflowブレークポイントと監視ウィンドウで管理できます。ブレークポイントと監視ウィンドウを開くには,[デバッグ]タブで[ブレークポイントリスト]をクリックします。あるいは[ブレークポイント]ダイアログボックスを開いて[ブレークポイントリスト]リンクをクリックします。

  • すべてのブレークポイントとそれに関連付けられている条件のリストを表示するには,[ブレークポイント]タブを選択します。

  • データとメッセージの値を調べるには,[監視]タブを選択します。詳細については,ブレークポイントと監視ウィンドウでのデータの表示を参照してください。

ブレークポイントの無効化と再有効化

関連付けられている条件を削除しないでブレークポイントを無効にするには,ブレークポイント名の横のチェックボックスをオフにします。たとえば,次のチャートでは上移ステートの(在ステート]上のブレークポイントが無効にされています。

グラフィカルオブジェクトのすべてのブレークポイントを無効にした場合,そのブレークポイントバッジの色が赤からグレーに変わります。オブジェクトの少なくとも1つのブレークポイントが有効な場合は,ブレークポイントバッジは赤のままです。

1つのブレークポイントを再度有効にするには,ブレークポイント名の横にあるボックスを選択します。すべてのブレークポイントを無効にするか、再度有効にするには、ウィンドウ上部にあるチェック ボックスをオフまたはオンにします。

ブレークポイントの削除

チャートからブレークポイントを削除するには,ブレークポイントの名前にカーソルを合わせ,名前の右側に表示される(このブレークポイントを削除)アイコンをクリックします。ブレークポイントを削除すると,それに関連付けられている条件も削除されます。

ブレークポイントのヒットの表示

[ヒット]列にはシミュレーションが各ブレークポイントで一時停止した回数が表示されます。ブレークポイントの条件を変更した場合,チャートによってヒットの回数がリセットされます。

ブレークポイントの保存と復元

ブレークポイントはMATLABセッションの間保持されます。モデルを閉じても,ブレークポイントはブレークポイントと監視ウィンドウに残ります。同じMATLABセッション内でモデルを再度開いた場合,すべてのブレークポイントとそれに関連付けられている条件が復元されます。

ブレークポイントと監視データのリストを保存して,その後のMATLABセッションで再度読み込むことができます。ブレークポイントと監視データのリストのスナップショットを保存するには,ブレークポイントと監視ウィンドウの上部で,[現在のブレークポイントと監視の保存)アイコンをクリックします。スナップショットを復元するには,[ブレークポイントと監視の読み込み]アイコンをクリックします。

関連するトピック