EN JP CN

ソースクロスリファレンスでの検索

ソースクロスリファレンスでの検索

Klocwork Static Code Analysis では、あらゆるタイプのエンティティと属性を検索して一覧にしたり、特定のタイプのエンティティや属性に検索を絞ったり、特定のエンティティまたは属性の値を検索したりできます。

Static Code Analysis 検索を実行するときに、エンティティ検索条件と属性検索条件の両方を使用します。

検索は Klocwork データベースで実行されるため、Static Code Analysis にはプロジェクトのシステムモデルに基づいた検索結果が表示されることに注意してください。

ソースクロスリファレンスで表示するために選択したモデルに存在しないエンティティが検索で返され、それについてソースクロスリファレンスの詳細を表示しようとすると、「選択したエンティティは現在のモデルにありません」というエラーメッセージが表示されます。このエンティティのソースクロスリファレンスの詳細を表示するには、システムモデルを開いてください。

検索のヒント

  • [エンティティ] テキストフィールドにはアスタリスクのワイルドカードが自動入力されるため、何も入力する必要はありません。
  • 検索結果は 300 行に限られています。数を少なくして的を得た検索結果を生成するには、検索条件を絞り込む必要があります。
  • [エンティティ] プルダウンメニューには、選択したビルドに実際にあるエンティティタイプのみが表示されます。
  • 特定のエンティティを検索するとき、特定の検索条件を入力します。このとき、特定のエンティティのすべてまたは一部の名前をソースコードに入力するか、add* や *error* などの文字やワイルドカードの組み合わせを使用して入力します。
  • 検索では大文字と小文字は区別されません。
  • 文字列の文字数に制限はありません。
  • 文字列の前後を山括弧 < > で囲まないでください。
  • アスタリスク (*) はワイルドカードです。以下に使い方の例を示します。
    • <character string>:識別子名は文字列で終了します。
    • <character string>*:文字列の文字は識別子名内のどこにでも配置できます。
  • <character string>*:識別子名は文字列で始まります。
  • <filename>*:このファイル名のすべてのエンティティを表示します。
  • ビルドに重複するエンティティ名が含まれている場合、その名前のエンティティをすべて見つけるには、末尾にアスタリスクを使用します。たとえば、ビルドで tb* のすべての出現を見つけるには、テキストフィールドに次のように入力します:tb*。
  • エンティティに複数の属性が割り当てられている場合は、リストに複数回表示されます。
  • 属性を検索するとき、特定の属性検索条件を属性フィールドに入力します。このとき、特定の属性の値のすべてまたは一部の名前をソースコードに入力するか、文字やワイルドカードの組み合わせを使用して入力します。ワイルドカードだけを入力すると、指定したタイプのすべてのエンティティが返されます。

重複するエンティティ名

プロジェクトで重複する名前のファイルが異なるディレクトリにある場合は、ワイルドカード (*) を使用しない限り、1 つのエンティティだけが検索結果に表示されます。Klocwork で重複するファイル名が検出されると、名前に #<duplicate-number> が追加されます。たとえば、次のように別々のディレクトリに重複するファイル名が 2 つあります。

/interfaces/pgtypeslib/timestamp.c

src/backend/utils/timestamp.c

重複するファイルは名前がtimestamp.c#1 と変更されます。

timestamp.c を検索すると、最初のファイルだけが返されます。timestamp.c* を検索すると、timestamp.c とtimestamp.c#1 の両方が返されます。