Klocwork Desktop for Java をお使いになる前に

Klocwork Desktop を使用すると、チェックイン前に指摘を検出して修正することができます。

Klocwork Desktop は、コマンドラインデスクトップ解析ツールである kwcheck の GUI 版です。Klocwork Desktop は kwcheck と同様に、IDE プラグイン形式でサポートされていないテキストエディターと IDE を使用するデベロッパー向けです。

ソースコードとコンパイラにリモートにアクセスする場合、Klocwork Desktop をリモートモードで使用します。

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

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

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

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

プロジェクト設定には、ビルド設定のキャプチャも含まれます。Klocwork は、解析の実行に build specification (ビルドスペック) を使います。build specification (ビルドスペック) には、プロジェクトのソースファイルとそのコンパイラオプション (インクルードと定義) のリストが含まれます。

  1. コマンドラインから kwgcheck を実行するか、デスクトップショートカットを使用します。
  2. ツールバーから、Image:KD_create_project_icon.png をクリックします。
  3. プロジェクトの名前を入力します。
  4. 必要に応じて、プロジェクトの場所を指定します。デフォルトでは、Klocwork はプロジェクトを <home_directory>/klocwork_projects/<project_name> に作成します。選択した場所に空き領域が十分にあることを確認してください。プロジェクトは時間がたつにつれて巨大になることがあるからです。
  5. [タイプ] セクションでは、接続されたプロジェクト が自動的に選択されます。
  6. 必要に応じて Klocwork サーバーのホストとポートの情報を入力し、[次へ] をクリックします。
  7. [サーバープロジェクト名] リストで、接続するサーバープロジェクトを選択します。
  8. Klocwork サーバーへのセキュア接続 が設定されている場合は、[セキュア接続の使用] チェックボックスをオンにします。
  9. [次へ] をクリックします。
  10. [ビルド設定] ダイアログがプロジェクトにビルド設定がありません

    このメッセージから「kwant」で始まるコマンドラインをコピーし、コマンドを実行します。

    このコマンドは、モジュールのビルド設定をキャプチャし、build specification (ビルドスペック) を作成し、.kwlp ディレクトリに保存します。 これにより、Klocwork Desktop はビルドスペックを見つけることができます。

    Important: kwant で build specification (ビルドスペック) を作成済みであり、別の場所に保存した場合、kwcheck import でコマンドライン上のこのプロジェクトにインポートする必要があります。

    build specification (ビルドスペック) の詳細

コードの解析

Klocwork Desktop で、プロジェクトナビゲーターにファイルリストが表示されるはずです。

  1. ツールバーにある Image:Klocwork check icon_new.png をクリックします。

    [working set (ワーキングセット) の構成] ダイアログが表示されます。

  2. ルートディレクトリのチェックボックスをオンにして、プロジェクト内のファイルをすべて選択します。(後で、小さい [working set (ワーキングセット)] を作成すると良いでしょう)。
  3. working set (ワーキングセット) に名前を付けます ("すべて" など)。
  4. [実行] をクリックします。

ログコンソールに解析出力が表示され、指摘が検出された場合、[指摘] ビューに指摘が列挙されます。

検出された指摘の調査

  1. [指摘] ビューで指摘をダブルクリックして、[詳細] ビューを表示します。
  2. トレースバック情報を使用して、指摘を調査します。トレースバックを表示するには、Image:Orange_rectangle_Eclipse.png または Image:defect_icon_Eclipse.png をクリックします。トレースバック行からは、指摘の一因となったイベントにリンクが貼られています。トレースバック内の行をクリックすると、指摘内容が現れるファイル内の場所が呼び出され、左側にバグマーカーが表示されます。
  3. [指摘] ビューで指摘を右クリックし [詳細情報] を選択して、指摘タイプのヘルプを得ます。

欠陥を修正し、残りは無視します。

本物の欠陥の場合:

  1. コードで指摘を修正し、変更を保存します。
  2. Image:Klocwork check icon_new.png をクリックして、解析をもう一度実行します。

    指摘がリストに表示されなくなれば、その指摘は修正済みです。

修正する必要のない指摘の場合:

  1. リストで指摘を右クリックし、[ステータスの変更] > [無視する] を選択します。
  2. コメントを入力して [OK] をクリックします。

Klocwork サーバー上のプロジェクトに接続している場合、変更内容は他のデベロッパーと Klocwork Static Code Analysis にも表示されます。その他のデベロッパーによる変更でもデスクトッププロジェクトが更新されるようになりました。この状況は、別の統合ビルド解析が実行される前でも発生します。

build specification (ビルドスペック) の更新

ファイルを追加するかビルド設定を変更したら必ず、kwant で build specification (ビルドスペック) を再作成します。build specification (ビルドスペック) を .kwlp ディレクトリに保存します。build specification (ビルドスペック) が古い場合、正確に解析できません。