ローカルプロジェクトの設定

作業対象の整合の取れたビルド可能なコンポーネントごとに、ローカルプロジェクトを作成します。これは、解析の結果と設定を保存しておくリポジトリとなります。プロジェクトの設定は、作業対象のコンポーネントごとに 1 回だけ実行します。

ビルド設定をキャプチャする

Klocwork では、解析の実行に build specification (ビルドスペック) が必要です。build specification (ビルドスペック) には、プロジェクトのソースファイルとそのコンパイラオプション (C/C++ 用のインクルードと定義など) のリストが含まれています。Klocwork は、IDE ビルドプロセスを監視するか外部 (コマンドライン) ビルドプロセスを監視して、build specification (ビルドスペック) を作成します。プロジェクトにファイルが追加されるか削除されると build specification (ビルドスペック) が自動的に更新されるので、前者をお勧めします。

Important: build specification (ビルドスペック) の生成に CDT インデクサーを頼らないでください。

この方法は、不正確であることがわかっています。QNX Momentics を使用する場合は、代わりに QNX Momentics のビルド設定のキャプチャ を参照してください。

オプション 1: Eclipse または Wind River Workbench 外でビルドする場合

直接 kwinject を実行し、build specification (ビルドスペック) を作成します。C/C++ build specification (ビルドスペック) の作成 を参照してください。

build specification (ビルドスペック) を生成した後、ローカルプロジェクトの設定 を行う必要があります。

オプション 2: Eclipse または Wind River Workbench 内でビルドする場合

手順は、Eclipse、QNX Momentics、または Wind River Workbench のいずれを使用しているのかで異なります。

QNX Momentics を使用している場合は、QNX Momentics のビルド設定のキャプチャ を参照してください。

Wind River Workbench を使用している場合は、Klocwork と Wind River Workbench との統合を参照してください。

Eclipse

  1. [Project Properties] > [C/C++ Build] > [Tool Chain Editor] の順に移動します。
  2. アクティブな設定の [Current Builder][CDT Internal Builder] から [Gnu Make Builder] に変更して、[Apply] をクリックします。
  3. [Project Properties] > [C/C++ Build] の順に選択します。
  4. [Builder Settings] タブで、[Use default build command] の選択を解除します。
  5. Eclipse 4.18 以前の場合: [ビルドコマンド] フィールドで、次のように、ビルドコマンドを置換します。
    <klocwork_user_install>/bin/kwinject -u -o ${ProjDirPath}/kwinject.out <build_command>
    

    フィールド<build_command> は make などのビルドコマンドです。

    オプションの説明については、kwinject を参照してください。

    Eclipse 4.20 以降の場合: [ビルドコマンド] フィールドで、次のように、ビルドコマンドを置換します。

    <klocwork_install>/bin/kwinject.exe

    ビルド引数を指定するには、[Behavior] タブに移動し、[Use custom build arguments] を選択し、[Build arguments] フィールドにオプションを入力します。例:

    -u -o ${ProjDirPath}\kwinject.out make
  6. [OK] をクリックします。
  7. build specification (ビルドスペック) を作成するには、プロジェクトのクリーンおよびビルドを実行します。

    プロジェクトディレクトリで初期 build specification (ビルドスペック) を作成するための、「クリーン」ビルドは 1 回だけで済みます。その後、ビルドを行うと、ファイルが追加または削除されたときに kwinject がbuild specification (ビルドスペック) を更新します。

ビルド設定の指定

  1. [プロジェクトプロパティ] で、[Klocwork ビルド設定] を選択します。
  2. [build specification (ビルドスペック) ファイルの使用] を選択し、作成した build specification (ビルドスペック) を参照して [OK] をクリックします。

これらのプロパティは、選択したプロジェクトについて保存され、解析を次回実行するときに使用されます。ビルド設定の指定は、更新された build specification (ビルドスペック) ファイルの場所が変わらない限り、プロジェクトに対して 1 回だけ実行します。

Klocwork サーバー上のプロジェクトまたはストリームへの接続

静的コード解析から最大のメリットを得られるのは、小さなローカルプロジェクトを Klocwork サーバー上のより大きなプロジェクトまたはストリームに接続するときです。小さいローカルプロジェクトは、追加のソースファイル (共有ライブラリなど) が解析されたサーバー上に生成された Klocwork knowledge base (ナレッジベース) を組み込んでいる間に、即座に解析されます。サーバープロジェクトまたはストリームに接続すると、指摘ステータス情報を統合ビルド解析およびチームメンバー間で共有することもできます。スタンドアロンデスクトップ解析を実行できますが、この解析では知識をローカルプロジェクトのソースファイルから引き出すだけです。

この手順は、各プロジェクトで 1 回だけ実行します。

  1. [プロジェクトプロパティ] ビューナビゲーターで、[Klocwork] を展開し、[プロジェクト固有の設定を有効にする] をオンにします。
  2. [同期] タブをクリックします。
  3. Klocwork サーバーのホストとポートの情報が正しいことを確認します。
  4. [プロジェクト名] リストで、接続するサーバープロジェクトまたはストリームを選択します。
  5. Klocwork サーバーへのセキュア接続が設定されている場合は、[セキュア接続の使用] チェックボックスをオンにします。
  6. [OK] をクリックします。

    接続を設定すると、統合プロジェクトとデスクトッププロジェクトとの間で同期が発生し、統合プロジェクトから構成情報が取得されます。

    この手順は、各プロジェクトで 1 回だけ実行します。

ローカルプロジェクト同期設定をインポートまたはエクスポートします。

ワークスペースのプロジェクトごとに設定を変更する代わりに、ワークスペース全体のすべてのローカルプロジェクト同期設定を一括でインポート/エクスポートできます。エクスポートされた設定は、単純な XML ファイルに保存されるので、他のデベロッパーと共有したり、ワークスペースを再ビルドするために再インポートすることができます。

新しいワークスペースにインポートすると、新しいワークスペースのすべてのプロジェクト同期設定がオーバーライドされます。これは、[プロジェクト固有の設定を有効にする] チェックボックスが有効にされているかどうかにかかわらず、すべてのプロジェクトに該当します。ワークスペース A のプロジェクト MyProj[プロジェクト固有の設定を有効にする] が無効にされており、ワークスペース B のプロジェクト MyProj[プロジェクト固有の設定を有効にする] が有効にされている場合、ワークスペース B のプロジェクト MyProj はオーバーライドされ、ローカルプロジェクト設定は無効になります。

構成設定には以下が含まれます。

  • プロジェクト固有の設定を有効にする
  • Klocwork サーバーのホスト名とポート番号
  • 安全な接続設定
  • サーバー上で関連付けられているプロジェクトの名前

プロジェクト同期設定をエクスポートするには:

  1. [ウィンドウ] > [プリファレンス] ダイアログで、[Klocwork] を展開し、[設定] を選択します。
  2. [マップのエクスポート...] をクリックして、エクスポートマップファイルのファイル名と場所を指定し、[保存] をクリックします。

構成マッピングファイルをデフォルトの XML ビューアで表示するために、[マップの表示] をクリックします。以下に、2つのプロジェクトの一般的な出力ファイルの形式を示します。

<SyncMapping>
    <ProjectSettings EclipseProjectName="myProj"/>
    <ProjectSettings EclipseProjectName="HelloWorld3">
        <ProjectSyncInfo KwProjectName="HelloWorld3" KwServerHost="server11" KwServerPort="8080" KwSslEnabled="true"/>
    </ProjectSettings>    
</SyncMapping>

構成マッピングファイルをインポートするには

  1. [ウィンドウ] > [プリファレンス] ダイアログで、[Klocwork] を展開し、[設定] を選択します。
  2. [マップのインポート...] をクリックして、エクスポートマップファイルのファイル名と場所を指定し、[開く] をクリックします。
  3. [OK] をクリックして構成マップファイルをインポートします。

マップファイルで指定されているプロジェクトのリストは、現在のワークスペース内のプロジェクトのリストの部分集合または上位集合である場合があります。インポート時には、ワークスペース内に見つかったプロジェクトのローカル構成設定だけが変更されます。インポート処理が完了すると、ステータメッセージが表示されます。