QGenデバッガ
QGenデバッガを使用すると、ホスト(「Software in the Loop」またはSIL)あるいは組込ターゲット(「Processor in the Loop」またはPIL)のいずれかで、Simulink®モデルから生成されたコードの実行を制御できます。 また、モデルレベルのブレークポイントとシグナル値の表示ができるため、MBDエンジニアリングとソフトウェアエンジニアリング間のギャップを埋めるのに有効です。
QGenが生成したコードと手書きのコードを組み合わせて、一緒にデバッグすることができ、QGenデバッガは、生成されたコードのセクションに到達するたびにモデルとそのシグナル値を表示します。
QGenデバッガでは、シグナル値を変更したり、プログラムの実行を制御したり、モデルの状態を変更することができます。
シグナル値を記録し、Simulink®ブロックに結びつけることができるため、問題を解決するのに役立ちます。
特長
モデルの動作をコードレベルでデバッグ
デバッガは、生成されたコードをモデルにリンクできるQGenが生成したトレーサビリティ情報を通じて、Simulink®モデルをコード実行と同期させます。そのため、Ada / C言語やアセンブリコードをステップ実行しながら、モデルの動作をデバッグできます。
ホスト、リモートターゲット、ローカルエミュレータ上のコード
AdaCore社のターゲットエミュレーション機能を使用すると、ターゲットでのコード実行ならびにモデルをデバッグしながら、対応プラットフォーム上でコードを直接(クロス)コンパイルして実行できます。
モデルデバッグ
QGenデバッガは、Simulink®モデルを、Simulink®ブロック、サブシステム、ならびに参照を表示します。アウトラインビューでは、すべてのサブシステムと参照のツリービューを使用するか、ブロックを直接クリックして、モデルを参照できます。
Simulink®シグナル発生ブロックを使用して、MATLABからデバッグ環境を作成
Simulink®ブロック/モデルを使用して、MATLABからモデルの入力を定義できます。 QGenデバッガは、モデルへの入力と同じ入力を使用するコードを生成してデバッグセッションを作成します。 この入力を使用してモデルと生成されたコードの動作を、同期してデバッグできます。
ブレークポイントをブロックまたはモデルリファレンスに設定
ソースコードにブレークポイントを設定するのと同様に、QGenデバッガでは、モデルビューからブロックをクリックして、ブレークポイントを設定し、そのブロックに対応するコードが実行されると動作は停止します。
シグナル値を動的に表示
QGenデバッガは、コード変数とSimulinkモデルのシグナルとのトレーサビリティにより、シグナル値を表示できます。 実行されたブロックはグレー表示され、どのシグナルが更新されたかを示します。
実行中にシグナル値を変更
QGenデバッガは、Simulink®モデルの動作を解析するための強力なツールで、時間のかかる動作などシグナル値を変更して、モデルの実行を必要な状態へ設定できます。
保存した値から対応するSimulink®ブロックを強調表示
デバッグ時に取得したシグナル値をHTMLファイルに保存でき、MATLABで開くと、各シグナルの対応するブロックへリンクしています。 そのため、コードレベルで特定された問題を対応するモデルレベルのブロックにトレースし、Simulink®で調査することができます。
手書きのコードとモデルから生成されたコードが混在した場合の動作を解析
QGenデバッガは、Simulink®モデルとコードの動作を調べる独自の方法を提供し、手動で生成されたコードと自動生成されたコードの両方で構成されるプログラムをデバッグできます。 QGenデバッガは、QGenによって生成されたコードセクションを実行するたびに自動的にモデルビューを表示します。