メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Polyspace 結果に一部のファイルまたは関数が表示されない原因の特定

問題

[結果のリスト] ペインで、 (グループ化) のリストから [ファイル] を選択した場合に以下が表示されません。

  • 一部のソース ファイル。

  • ソース ファイルの一部の関数。

考えられる原因: ファイルが検証されていない

ソース ファイルまたは関数にチェックやコーディング ルール違反などの結果が含まれていないと、[結果のリスト] ペインにそのファイルと関数は表示されません。ソース ファイルまたは関数でのいずれの操作にもチェックが含まれていない場合、Polyspace® ではそのソース ファイルまたは関数が検証されなかったということになります。

すべてのファイルおよび関数が検証されたかどうかを確認するには、[ダッシュボード] ペインの [検証でカバーされたコード] グラフを参照してください。詳細は、Polyspace デスクトップ ユーザー インターフェイスでの [ダッシュボード]を参照してください。

解決法

Polyspace では、次のいずれかの状態が発生している場合、ソース ファイルまたは関数が検証されません。

状態修正方法

ファイルまたは関数にチェックが必要な操作が含まれていません。

たとえば、関数に他の関数の呼び出ししか含まれていないとします。呼び出されるいずれの関数にも呼び出し元の関数の無限呼び出しにつながるエラーがなければ、呼び出し元の関数にチェックは含まれません。

修正は不要です。

ソース ファイル内のすべての関数が呼び出されていないか、到達不能コードから呼び出されているか、次のレッド チェックが呼び出されています。

Polyspace では、レッド チェックに続くコードと、そのチェックと同じ範囲にあるコードは検証されません。したがって、関数は呼び出されていないとみなされ、その関数を含むファイルは検証されません。

呼び出されていない関数の検出が選択されている場合、検証ではそれらの関数に対しグレー チェックが行われます。これにより、関数および関数を含むソース ファイルは、[結果のリスト] ペインに表示されます。詳細は、呼び出されない関数の検出 (-uncalled-function-checks)を参照してください。

コードはマルチタスキングを対象としていますが、すべてのエントリ ポイントが指定されているわけではありません。ファイル内のすべての関数が、指定されていなエントリ ポイントから呼び出されている場合、Polyspace ではそのファイルは検証されません。

すべてのエントリ ポイントが指定されているかどうかを確認します。エントリ ポイントの指定方法についての詳細は、タスク (-entry-points)を参照してください。マルチタスキング コード検証のワークフローについては、Polyspace マルチタスキング解析の手動設定を参照してください。

ソース ファイルに main 関数が含まれていない場合、Polyspace で main 関数が生成されます。生成された main は、指定された関数を、特定の解析オプションを使用して呼び出します。

解析オプションで、生成された main によってソース ファイル内のすべての関数が呼び出されない場合、Polyspace ではそのソース ファイルは検証されません。

検証に関連付けられている main 生成オプションを変更する必要があるかどうかを確認します。

オプションについての詳細は、以下を参照してください。

考えられる原因: フィルターが適用されている

プロジェクト モジュールで検証を再実行した場合、前回実行時のフィルターが現在の実行に適用されます。この永続的なフィルターが原因で、一部のファイルが表示されないことがあります。

フィルターが適用されているかどうかを確認するには、[結果のリスト] ペインのヘッダーを参照します。フィルター処理された結果の数がヘッダーに表示されます。この数値にカーソルを置くと、適用されているフィルターを確認できます。

たとえば、この図では次のフィルターが適用されていることがわかります。

  • コード メトリクスおよびグローバル変数を非表示にする [Checks & Rules] フィルター。

  • 前回の検証で見つかった結果を非表示にする フィルター。

  • [情報] 列と [チェック] 列に対するフィルター。

解決法

フィルターをクリアし、ファイルまたは関数が [結果のリスト] ペインに再表示されるかどうかを確認します。詳細は、Polyspace デスクトップ ユーザー インターフェイスでの結果のフィルター処理とグループ化を参照してください。