デバッグ用のモデルの構成
[コンフィギュレーション パラメーター] ダイアログ ボックスで [診断] ペインのパラメーターとデバッグ パラメーターを使用して、生成コードとビルド プロセスがデバッグ用に設定されるようにモデルを構成します。モデル コンパイルの段階や目的言語コードの生成段階に適応するようにパラメーターを設定することができます。
ターゲットをカスタマイズし、古い形式のコードを統合し、あるいは、新しいブロックを開発するために TLC コードを書いている場合は、下の表にあるパラメーターが役立ちます。
目的... | 選択 |
---|---|
MATLAB® コマンド ウィンドウ内でコード生成中の進行情報を表示します。 | 詳細なビルド (コマンド表示)。コンパイラの出力も表示されます。 |
ビルドの終了時にビルド プロセスによって ファイルがビルド フォルダーから削除されないようにします。 | .rtw ファイルを残す.このパラメーターは、ターゲット ファイルを変更中に |
TLC プロファイラーに、コード生成中に実行された TLC コードの性能を分析し、レポートを生成するように指示します。 | TLC プロファイル.レポートは HTML 形式で、Web ブラウザーで読むことができます。 |
コード生成中に TLC デバッガーを開始 | コード生成時に TLC デバッガーを実行.または、[コード生成] ペインでシステム ターゲット ファイルパラメーターに引数「-dc 」を入力します。デバッガーを開始してデバッガー スクリプトを実行するには、[システム ターゲット ファイル] に「-df filename 」を入力します。 |
コード ジェネレーターがコード生成中に TLC コードの各行を何回読み取るかを示す統計を含むレポートを生成します。 | Start TLC coverage when generating code.または、[コード生成] ペイン上で [システム ターゲット ファイル] パラメーター用の引数 -dg を入力します。 |
ユーザー提供の TLC ファイルが %assert 命令を含み、それが FALSE に評価する場合は、ビルドを停止します。 | TLC アサーションを有効にする.または、MATLAB コマンドを使用して、TLC アサーション処理を制御することができます。 フラグをオンまたはオフに設定するには、 set_param(model, 'TLCAssertion', 'on|off') 現在の設定をチェックするには、 get_param(model, 'TLCAssertion') |
調整可能性の消失を検出 | [診断] 、 [データ有効性] ペインの調整可能性の消失を検出。このパラメーターを使用して、式が数値の式に簡略化される時に調整可能性の消失を報告することができます。調整可能なワークスペース変数がマスク初期化コードにより変更されたり、サポートされていない演算子またが関数をもつ演算式内で使用されたりすると、この消失が発生することがあります。可能な値は以下のとおりです。
サポートされている演算子と関数のリストの詳細については、調整可能な式の制限を参照してください。 |
Model Verification (Assertion) ブロックを有効にする | Model Verification ブロックを有効にする.このパラメーターを使用して、Assert、Check Static Gap、関連範囲チェック ブロックなどのモデル検証ブロックを有効/無効にします。この診断は生成コードおよびシミュレーションの動作に適用されます。たとえば、モデル検証ブロックが S-Function 内にあると、シミュレーションとコード生成はこのパラメーターを無視します。可能な値は以下のとおりです。
無効にされなかった Assertion ブロックの場合、ブロック入力信号タイプ (それぞれ boolean、実数、整数) により異なりますが、モデル用の生成コードは以下のステートメントのいずれか含みます。 utAssert(input_signal); utAssert(input_signal != 0.0); utAssert(input_signal != 0);
utAssert(<variant condition expression on the block>); 既定の設定では、 make_rtw OPTS="-DDOASSERTS" トリガーされたアサーションが実行を中止する代わりにアサーション ステートメントを出力するようにしたい場合は、以下のバリアントを使用します。 make_rtw OPTS="-DDOASSERTS -DPRINT_ASSERTS" utAssert は アサーション動作をカスタマイズするには、既定の アクセラレータ モードでモデルを実行する場合は、Simulink® エンジンは生成コードを使用する代わりに自身を呼び出して、Assertion ブロックを実行します。そのため、アサーションが失敗すると、ユーザー定義のコールバックは再び呼び出されます。 |
TLC デバッグ オプションの詳細については、Target Language Compilerの「デバッグ」を参照してください。また、モデル ビルドをトラブルシューティングするためのツールとしてモデル アドバイザーを使用することを検討してください。モデル アドバイザーの詳細については、モデル アドバイザー チェックの実行を参照してください。