Main Content

コード生成レポート

レポート生成を有効にする場合またはエラーが発生する場合、fiaccel はコード生成レポートを生成します。このレポートを使用して、MATLAB® 関数をデバッグし、それらの関数がコード生成に適していることを確認します。レポートには関数の変数および式の型情報が表示されます。この情報によって、エラー メッセージの原因を特定したり、型の伝播のルールを理解しやすくなります。

レポートの生成

レポートの生成およびオープンを制御するには、fiaccel オプションを使用します。

  • レポートを生成するには、-report オプションを使用します。

  • レポートを生成して開くには、-launchreport オプションを使用します。

あるいは、構成オブジェクトのプロパティを使用します。

  • レポートを生成するには、GenerateReporttrue に設定します。

  • fiaccel で自分のレポートを開く場合は、LaunchReporttrue に設定します。

レポートの場所

コード生成レポートには report.mldatx という名前が付けられます。このレポートは、コード生成出力フォルダーの html サブフォルダー内に配置されます。MATLAB R2018a 以降をご利用の場合は、report.mldatx ファイルをダブルクリックして開くことができます。

エラーと警告

[すべてのメッセージ] タブにコード生成エラー、警告および情報のメッセージが表示されます。エラーまたは警告に関するソース コードを強調表示するには、メッセージをクリックします。最初のメッセージに対処するのが最も効率よいアプローチです。その後のエラーや警告は最初のメッセージに関連して発生したものである可能性があるからです。

ファイルと関数

[MATLAB ソース] ペインの [関数リスト] ビューでは、含まれているファイルに従って関数が整理されます。呼び出し構造に従って関数を可視化するには、[呼び出しツリー] ビューを使用します。

レポートのコード ペインで関数を表示するには、リスト内の関数をクリックします。関数をクリックすると、その関数が含まれるファイルが開きます。MATLAB エディターで選択したファイルを編集するには、[MATLAB で編集] をクリックするか、コード ペインで行番号をクリックします。

特殊な関数またはクラス

関数が異なるデータ型の入力で呼び出される場合、またはクラスがそのプロパティに対して異なるデータ型を使用する場合、コード ジェネレーターは特殊化を生成します。[MATLAB ソース] ペインでは、番号付きの関数 (またはクラス) が特殊化を示します。以下に例を示します。

MATLAB ソース

コード ペインで MATLAB 関数を表示するには、[MATLAB ソース] ペインで関数の名前をクリックします。コード ペインで、変数または式の上で一時停止すると、ツールヒントに、そのサイズ、型および実数/複素数に関する情報が表示されます。さらに、構文の強調表示は、MATLAB 構文要素と、関数が外部関数であるかどうか、引数が定数であるかどうかといった特定のコード生成属性を識別するのにも役立ちます。

外部関数

レポートは紫色のテキストで外部関数を識別します。ツールヒントは関数が外部関数であることを示しています。

This image shows the report when it identifies the extrinsic function. The extrinsic function is purple.

定数引数

オレンジ色のテキストは、エントリポイント関数または特殊な関数へのコンパイル時の定数引数を示しています。ツールヒントにはその定数値が表示されます。

This image shows the report when it identifies a compile-time costant argument. The constant a is highlighted in orange.

定数引数の値を把握することで、生成された関数シグネチャを理解することができます。また、コード生成で異なる定数引数値をもつ関数の特殊化が作成された場合に確認することもできます。

ワークスペースの変数に値をエクスポートするには、[エクスポート] アイコン をクリックします。

MATLAB 変数

[変数] タブには、選択した MATLAB 関数の変数に関する情報が表示されます。関数を選択するには、[MATLAB ソース] ペインで関数をクリックします。

変数テーブルには以下の情報が表示されます。

  • クラス、サイズ、実数/複素数

  • 固定小数点型のプロパティ

この情報は、型の伝播を理解して型の不一致エラーを特定するのに役立ちます。

[変数] タブの視覚的なインジケーター

次の表では、変数テーブルで使用される記号、バッジおよびその他のインジケーターについて説明します。

変数テーブルの列インジケーター説明
名前展開アイコン変数には、展開アイコンをクリックすることで表示できる要素やプロパティがあります。
名前{:}同種 cell 配列 (すべての要素のプロパティは同じになります)。
名前{n}異種混合 cell 配列の n 番目の要素。
クラスv > nv は異なるクラス、サイズ、実数/複素数で再利用されます。数値 n は、一意のプロパティ セットをもつ再利用を特定します。名前が変更された変数で一時停止すると、クラス、サイズおよび実数/複素数を共有するこの変数のインスタンスのみがレポートで強調表示されます。同じ変数を異なるプロパティで再利用するを参照してください。
サイズ:n上限が n の可変サイズの配列。
サイズ:?上限なしの可変サイズの配列。
サイズイタリック実行中に次元によってサイズが変更されない可変サイズの配列。
クラス接頭辞 sparseスパース配列。
クラス接頭辞 complex複素数。
クラス

固定小数点型。

固定小数点プロパティを表示するには、バッジをクリックします。

コード洞察

潜在的な相違点のレポートを有効にすると、[コード洞察] タブにメッセージを表示できます。レポートに潜在的な相違点のメッセージが含まれるのは、潜在的な相違点の報告を有効にしている場合のみです。潜在的な相違点のレポートを参照してください。

レポートの制限事項

  • エントリポイントの概要は varargin および varargout の個別の要素を表示しますが、変数テーブルはそれらを表示しません。

  • ループの展開に関して完全な情報を表示するわけではありません。1 つの任意の反復のデータ型を表示します。

  • デッド コードに関する情報を表示しません。

参考

関連するトピック