EN JP CN

Klocwork Desktop Plug-in for Visual Studio をお使いになる前に

Klocwork Desktop Plug-in for Visual Studio をお使いになる前に

Klocwork Desktop Plug-in for Visual Studio をお使いになる前に

Klocwork Desktop Plug-in for Visual Studio をお使いになる前に

Klocwork Desktop Plug-in for Visual Studio を使用すると、チェックイン前に指摘を検出して修正することができます。Visual Studioプラグインでは、C/C++、C#、および混合プロジェクトと混合ソリューションをサポートしていますが、一部の機能は C# についてサポートされていません。

このプラグインには、お使いの IDE 内で実行できる、名前変更やインライン関数などのよく使用される C/C++ リファクタリングが用意されています。

Visual Studioプラグインでサーバーの指摘の表示に関連する新しい機能を活用するには、Visual Studio 2012 以降用に設計された、最新バージョンのプラグインをインストールする必要があります。

また、プロジェクト設定や指摘フィルター、解析設定などを個人設定に合わせてカスタマイズすることもできます。これらの機能の詳細については、以下のトピックを参照してください。

プロジェクトへの Klocwork サーバーの接続

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

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

  1. ソリューションエクスプローラーでソリューションを右クリックし、[Klocwork ソリューションプロパティ] を選択します。
  2. [Klocwork プロジェクト] リストで、接続するサーバープロジェクトを選択し、[OK] をクリックします。
    混合ソリューションの場合、2 つのサーバープロジェクトに接続します。 1 つは [C/C++ プロジェクト] タブ、もう 1 つは [C# プロジェクト] タブです。C/C++ とC# の混合プロジェクトの解析も参照してください。

解析

C/C++ コード: オンザフライ分析では、ファイルを開くときおよび入力するときに指摘が検出されます。必要に応じて、ファイル保存時に解析が必ず実行されるように構成することもできます。

C# コード: 純粋 C# または混合 C/C++ と C# ソリューションの場合、ソリューションを右クリックして [ソリューションの解析] を選択します。あるいは、プロジェクトを右クリックして [解析選択] を選択します。ソリューションまたはプロジェクトのフル解析により、C/C++ とC# の指摘がすべて検出されます。

ファイルで指摘が検出されると、エディターの左右の余白に指摘マーカーが表示されます。左のマーカー (chevrons) は、テキストでスクロールされます。同じ行について指摘が複数検出されても、左のガターマーカーには重要度が最高の指摘だけが表示されます。

マーカーは重要度別に色分けされます。
[左余白] アイコン[右余白] アイコン重要度
[重大]、[エラー]
[警告]、[レビュー]
 [無視]
 [重大]、[エラー] (サーバーの指摘)
 [警告]、[レビュー] (サーバーの指摘)
 [無視] (サーバーの指摘)
デフォルトのフィルター処理では、デスクトップの指摘とシステム指摘の両方が表示されます。Connected desktop (コネクテッドデスクトップ) プロジェクトでのデスクトップの指摘とは、前回の統合ビルト解析以降にもたらされ、IDE によって検出された指摘です。デスクトップの指摘は、次のように定義できます。
  • ローカルのみ: ローカル環境でのみ発見され、サーバーで発見されていない指摘。
  • ローカルシステム: ローカルに発見された指摘だが、統合ビルトで既に発見されている指摘。

サーバーの指摘とは、統合ビルトですでに発見されていて、ローカルなデスクトップ解析では発見されていないものです。これは、高度に最適化されたデスクトップ解析の性質により発生する場合があります。サーバーの指摘を解決するためにソースコードを修正した場合も、次のサーバービルトが実行されるまでは、指摘リストから削除されません。

サーバー指摘のロードを無効化

Klockworkの指摘リストで、ロードするサーバーの指摘を無効にする場合は、以下のように操作します:
  1. 使用しているVisual Studioのバージョン (2012以降) を開き、[Klockwork] > [オプション] の順に進みます。
  2. [解析] タブをクリックします。
  3. [サーバー指摘] セクションで、[サーバー指摘のロード] のラベルが付いたボックスのチェックを外します。
[サーバー指摘のロード] チェックボックスを選択または選択解除すると、ソリューションを閉じて再度開いた後に変更が有効になります。

レビューと調査

  1. [Klocwork 指摘] ウィンドウで、リストにある指摘をダブルクリックして、当該指摘をソースコード内で確認します。
  2. トレースバック情報を使用して、指摘を調査します。指摘に影響する重要なステートメントは、赤い四角でマークされ、問題の説明が含まれています。
    注: トレースバック情報はソースビューアー内に組み込まれ、該当する指摘の横に表示されます。[ESC] を押すと、非表示にできます。
  3. ヘルプを開くには、指摘を右クリックして [<checker name>チェッカー管理] メニューから [チェッカードキュメンテーションの表示] を選択します。

指摘のステータスを変更して処理方法を表示する

本物の欠陥の場合、指摘箇所のコードを修正します。Visual Studio での作業中に、Klocwork プラグインでは次のように指摘が検出されます。

  • C/C++ ファイルの場合、修正の入力が完了すると検出された指摘がすぐに消えます。
  • C# ファイルの場合、プロジェクトまたはソリューション上で解析を再度実行します。欠陥がリストに表示されなくなれば、その指摘は修正済みです。
残りの問題について、いくつかのシナリオを含むさまざまな問題ステータスを設定できます。「問題ではない」、「無視」、「保留」などのステータスを使用して、結果のうち関心のない指摘 (サードパーティ製ライブラリなど) を抑制します。
注: 検出された指摘の 1 つまたは複数が誤検知であると判断した場合は、Klocwork サポートでチケットをログする必要があります。

選択した指摘またはファイル全体から、一度に 1 つのステータスを変更できます。指摘ステータスを変更するには、指摘ステータスの変更権限が必要です。

デフォルトのフィルターオプションでは「解析」と「要修正」以外のステータスのすべての指摘が非表示になるため、指摘のステータスをいったん「解析」または「要修正」以外に変更すると、二度と表示されなくなります。 アイコンをクリックして無視したステータス (Microsoft Visual Studio 機能拡張) を選択するか、 アイコン (Microsoft Visual Studio アドイン) をクリックすることで、無視した指摘を表示するようにフィルターを調整することができます。

たとえば、次のようになります。

  1. 指摘ウィンドウで指摘を右クリックするか、または左ガターにある赤 または黄 の chevron アイコンを右クリックし、[指摘の更新] をクリックします。 選択肢のリストから適切な指摘ステートを選択します。
  2. コメントダイアログボックスが表示されます。このフィールドを使用して、追加の詳細を指定できます。
    ヒント: Ctrl + S を使用して変更を保存し、ダイアログを閉じます。ESC を押すと保存しないでダイアログを閉じます。
  3. をクリックすると、指摘がリストに表示されなくなります。

特定のステータスを指定せずに単に指摘を無視する場合は、その指摘を右クリックし、[指摘を無視] を選択します。

注: コメントダイアログを非表示にしている場合に、再度有効にするには、[Klocwork] > [オプション] に移動し、[表示] タブをクリックして [コメント変更ダイアログの表示] を選択します。

無視された指摘を復元する場合は、復元する指摘を右クリックし、[指摘を復元] を選択します。

接続されたプロジェクトの場合、ステータス更新はサーバーに合わせて同期されます。他のデベロッパーによる変更でも、ローカルプロジェクトが更新されます。

問題の破棄 (CI ビルドのみ)

継続的インテグレーション (CI) ビルドを構成して Visual Studio で [open in IDE] ボタンをクリックしてサポートされている CI プラグインの 1 つから問題を開くと、その問題は開かれているプロジェクトにインポートされます。この問題を修正した場合、または単に問題リストから削除したい場合、その問題を右クリックして [この問題の破棄] を選択します。なおこの機能は完全解析で見つかった問題には適用されません。つまりそれらの問題は破棄できません。

誤検知レポートの送信

C/C++ ユーザーの場合、誤検知レポートを生成して、特定のソースファイルでの誤検知を再現するのに必要な情報を収集できます。

Visual Studio から誤検知レポートを送信するには:

  1. 指摘ウィンドウで指摘を右クリックし、[誤検出レポートの作成] を選択します。
  2. ダイアログが表示され、アーカイブを .kwzファイルとして保存するかどうかを尋ねるメッセージが表示されます。ファイルをわかりやすい場所に配置します。
  3. サポートによってチケットを開き.kwzファイルを添付します。
注: 生成されたアーカイブには、機密扱いのソースコード情報が含まれる場合があります。これは、問題を再現するコンパイル可能なソースコードの抜粋を提供することで回避できる可能性があります。サポートの要請については、レポートを送信する前に カスタマーサポート までお問い合わせください。

チェックインの前に