<< 目次を表示 >> ページ位置: シミュレーション > 外部実行の状態マシン > デバッグ |
外部実行の状態マシンの機能は、モデルの内容から実行可能なソースコードが生成できる点だけではありません。Enterprise Architectの動作解析の機能は、生成したソースコードと連携できます。その結果、プログラムの動作をEnterprise Architect内で視覚的に確認できます。これにより、期待する動作・処理になっているか確認し、必要に応じて修正し、再度動作を確かめる流れを効率的に実現できます。
状態マシンのデバッグ
外部実行の状態マシンについて、デバッグを実行できる長所やメリットとして、次のような点が挙げられます。
モデルからソースコードの生成が完了したら、そのまま動作できます。ソースコードの生成と合わせて、動作解析の設定も自動的に作成されます。生成した内容を動作させるには、対象の動作解析の設定がシミュレーション対象になっていることを確認し、シミュレーションサブウィンドウからシミュレーションを実行させます。ブレークポイントを設定する場合には、シミュレーションの動作前に設定しておきます。
状態の遷移時に動作を中断させる
一般的なデバッガと同じように、Enterprise Architectでもソースコードにブレークポイントを設定して動作を中断できます。対象のクラス要素をダイアグラム内やモデルブラウザで選択し、ソースコードを表示させます。ショートカットキーはF12です。
ソースコード内で、特定の遷移時に中断させたい場合には、その遷移に対応するメソッド(関数)を探し、ソースコード左端の余白部分をクリックしてブレークポイントを設定します。
実行時に指定した位置に到達すると、動作が停止し変数の値を確認できます。
条件を指定して動作を中断させる
それぞれのブレークポイントには、条件やトレース文を指定できます。条件を指定した場合には、ブレークポイントに到達した際にその条件が真(True)となる場合に停止します。それ以外の場合には、通常通り処理を続行します。条件には、そのブレークポイントが設定された位置で有効な変数を含めることができます。比較式として、 < > = >= <= 等を利用できます。
例えば、: (this.m_nCount > 100) and (this.m_ntype == 1) 等のように指定できます。
ブレークポイントに条件を指定するには、対象のブレークポイントを右クリックし、ブレークポイントのプロパティダイアログを表示させて下さい。あるいは、Ctrlキーを押しながらブレークポイントをクリックして下さい。
独自の情報をトレース出力する
ソースコード内にTRACEマクロを利用して、任意の内容を出力できます。また、それぞれのブレークポイントには、条件の指定と同様の方法でトレース文を指定できます。指定したトレース文の内容は、シミュレーションサブウィンドウに出力されます。
これらの情報は、動作の順序や詳細を知るために役立ちます。
コールスタックを参照する
ブレークポイントに到達してシミュレーション動作が停止した場合に、コールスタック情報を確認できます。コールスタックサブウィンドウは、「動作解析」リボン内の「ウィンドウ」パネルから表示できます。どのような動作になったかを推測する手がかりになります。