このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Polyspace レポート生成時のメモリ不足エラーの修正
問題
非常に多数の欠陥やコーディング ルール違反が含まれている Polyspace® の結果からレポートを生成するときに、メモリ不足エラーが発生することがあります。
エラー メッセージは以下のようになります。
....
Exporting views...
Initializing...
Polyspace Report Generator
Generating Report
.....
Converting report
Opening log file: C:\Users\auser\AppData\Local\Temp\java.log.7512
Document conversion failed
.....
Java exception occurred:
java.lang.OutOfMemoryError: Java heap space
考えられる解決策
この問題を解決するには、使用可能なヒープ メモリの拡張、または 1 つのレポートではなく複数のレポートでの結果の報告を試します。
Java ヒープ サイズの拡張
レポート生成中にこのエラーが発生する場合は、Java® ヒープ サイズを増やしてみます。64 ビット アーキテクチャでの既定のヒープ サイズは 1024 MB (メガバイト) です。
サイズを拡張するには、以下を行います。
に移動します。ここで、polyspaceroot\polyspace\bin\architectureはインストール フォルダーです。polyspacerootは、コンピューター アーキテクチャです。たとえば、architecturewin32、win64など。
ファイル
java.optsに指定された既定のヒープ サイズを変更します。たとえば、ヒープ サイズを 2 GB (ギガバイト) に拡張するには、1024mを2048mで置き換えます。ファイルへの書き込み権限がない場合、ファイルを別の場所にコピーします。変更を行ったら、ファイルを再度
にコピーします。polyspaceroot\polyspace\bin\architecture\
複数レポートでの Polyspace の結果の報告
結果セット (.pscp または .psbf ファイル) のすべての結果を 1 つのレポートで報告する代わりに、複数のレポートを生成し、各レポートに結果の小さなサブセットを含めることができます。
最もシンプルな方法は、特定のタイプの結果を 1 つのレポートで報告することです。たとえば、MISRA C™:2012 ルール違反を含む結果セットからは、必須ルールと必要ルールに関するレポートと、その他のルールに関するレポートという 2 つのレポートを生成できます。
レビュー スコープの適用とフィルター済みレポートの生成. Polyspace デスクトップ製品のユーザー インターフェイスで、レビュー スコープと呼ばれる名前付きフィルター セットを作成できます。レポートの生成時にレビュー スコープを適用できます。レビュー スコープにより、レポートに保存する前に結果がフィルター処理されます。
レビュー スコープを作成するには、次のようにします。
Polyspace ユーザー インターフェイスで、[ツール] 、 [基本設定]を選択します。
[レビュー スコープ] タブで、[新規] を選択します。レビュー スコープ名と保存する場所を入力します。

レビュー スコープ名は、後で結果をフィルタリングするときに使用できます。
レビュー スコープに含めるチェッカーを選択します。
Polyspace の結果からフィルター済みレポートを生成できます。このためには、レポートの生成前にレビュー スコープを適用します。レビュー スコープに含まれているチェッカーの結果だけがレポートに含まれます。レビュー スコープはユーザー インターフェイスで作成しますが、ユーザー インターフェイスまたはコマンド ラインで生成されるレポートにこのスコープを適用できることに注意してください。
Polyspace ユーザー インターフェイスでフィルター済みレポートを生成するには、次のようにします。
[結果のリスト] ペインの上部にあるドロップダウンで、[すべての結果] の代わりに新しいレビュー スコープを選択します。結果のリストが絞り込まれ、レビュー スコープに含まれているチェッカーの結果のみが表示されます。
[レポート] メニューを使用して、レポートを生成するかまたは結果をエクスポートします。
レポートを生成するには、[レポートの実行] を選択します。レポート生成を開始する前に、[レポートの実行] ダイアログで [現在表示されている結果のみを含める] を選択します。
結果をエクスポートするには、[エクスポート] 、 [現在表示されている結果をエクスポート]を選択します。
コマンド ラインでフィルター済みレポートを生成するには、コマンド polyspace-report-generator にオプション -wysiwyg を使用します。ここで、scopeName は Polyspace ユーザー インターフェイスからレビュー スコープを保存するときに使用したレビュー スコープ名です。次に例を示します。scopeName
polyspace-report-generator -template templateName -results-dir resultsFolder -format HTML -wysiwyg scopeName
はtemplateNameなどのレポート テンプレートのパスです。ここでpolyspaceroot\toolbox\polyspace\psrptgen\templates\Developer.rptは、polyspacerootC:\Program Files\Polyspace\R2025aなどの Polyspace インストール フォルダーです。は、Polyspace 結果が含まれているフォルダーです。resultsFolder
スコープ名は、ユーザー基本設定に保存されることに注意してください。したがって、別の Polyspace インストール (別のリリースなど) でレポートを生成するときには、このスコープ名を使用できません。ユーザー基本設定の詳細については、Polyspace ユーザー インターフェイスのカスタマイズの保存を参照してください。
結果のリストの列ベースのフィルターの適用とフィルター済みレポートの生成. Polyspace ユーザー インターフェイスで、列ベースのフィルターを使用して結果をフィルター処理し、現在表示されている結果からフィルター済みレポートを作成することもできます。
[結果のリスト] ペインの列ヘッダーの
アイコンをクリックすると、利用可能なフィルターが表示されます。必要なフィルターを適用します。[レポート] メニューを使用して、レポートを生成するかまたは結果をエクスポートします。
レポートを生成するには、[レポートの実行] を選択します。レポート生成を開始する前に、[レポートの実行] ダイアログ ボックスで [現在表示されている結果のみを含める] を選択します。
結果をエクスポートするには、[エクスポート] 、 [現在表示されている結果をエクスポート]を選択します。
生成されるレポートには、結果のフィルター処理に使用された列が示されます。たとえば、[ステータス] 列を使用して、ステータスが [正当化済み] のすべての結果を非表示にする場合、生成されるレポートには次の行が含まれます。
Columns with active filters:
Status[正当化済み] の結果はいずれも、レポートに表示されません。選択した列ベースのフィルターは、結果フォルダーの .settings サブフォルダーにあるファイル ui_settings.prf に保存されます。したがって、コマンド ラインでこれらの結果からレポートを生成し、オプション -wysiwyg "All results" (または前のセクションに示されているスコープ名) を使用する場合、生成されるレポートに、選択した列ベースのフィルターが適用されます。その他の結果のフォルダーの .settings サブフォルダーに、ファイル ui_settings.prf を移動して、その他の結果からフィルター済みレポートを生成することもできます。