コード分析ツールを使用したアプリケーション品質の分析
[コード分析] ウィンドウは、Visual Studio 2013 のすべてのエディションで使用できます。
コード分析機能
[コード分析] ウィンドウ |
コード分析の警告が、コード分析ツールのウィンドウに表示されます。このウィンドウは、コード分析の警告を管理および解決するために役立ちます。 |
フィルターの警告メッセージ |
ウィンドウで、キーワード、プロジェクト、および重大度によって [コード分析] ウィンドウのメッセージをフィルター処理できます。 |
コード エディターでの強調表示 |
[コード分析] ウィンドウでメッセージを選択すると、そのメッセージが発生した行がソース コード エディターで強調表示されます。 |
C++ メッセージの抑制 |
[コード分析] ウィンドウで、選択された警告を抑制するプラグマをソース コードに挿入できます。 |
C++ 規則セット |
マネージ コードと同様に、規則セットを作成または使用して、コード分析の実行に適用する分析規則を指定できます。 |
Windows ストア アプリのサポート
Windows ストア アプリで、Visual Basic、C#、および C/++ コードのコード分析を実行できます。詳細については、Windows デベロッパー センターの「Visual Studio コード分析による Windows ストア アプリのコード品質の分析」を参照してください。
新しい C++ 同時実行の警告
新しい同時実行の警告によって、マルチスレッドの C/C++ プログラムで作業分野を確実にロックすることができます。アナライザーは、潜在的な競合状態、ロック順序の逆転、呼び出し元/呼び出し先のロック コントラクト違反、一致しない同期操作など、さまざまな同時実行のバグを検出します。
競合状態。変数 <var> をロック <ロック> で保護する必要があります |
|
変数 <var> に対する適切なインタロック操作の使用の失敗。 |
|
ロック順序の違反。ロック <ロック> をレベル <レベル> で取得すると、順序の逆転が発生します |
|
関数 <func> の呼び出し前の呼び出し元でのロック <lock> の保持の失敗。 |
|
関数 <func> の呼び出し前の呼び出し元でのロック <lock> の解放の失敗。 |
|
<func> の呼び出し前に、呼び出し元がロックを保持できない。 |
|
関数 <func> でのロック <lock> の解放の失敗。 |
|
<func> でのロック <lock> の取得または保持の失敗。 |
|
関数 <func> での保持されていないロック <lock> の解放。 |
|
関数 <func> に _Requires_lock_held_(<lock>) 注釈または _No_competing_thread_ 注釈がない。それ以外の場合は、競合状態である可能性があります。変数 <var> をロック <ロック> で保護する必要があります |
|
関数 <func> に注釈 <annotation> がない。 |
|
同時実行 SAL 注釈のエラーです。 |
|
関数 <func> の呼び出し前に、呼び出し元でロック <lock> の保持に失敗する可能性があります。 |
|
ロックの解放に失敗する可能性があります |
|
関数 <func> でロック <lock> の取得または保持に失敗する可能性があります。 |
|
関数 <func> で保持されていないロック <lock> を解放する可能性があります。 |
|
Drivers モジュールは、現在の関数が適切な型の関数ではないと推論しました |
|
NULL ポインターを逆参照しています。 |
このセクションの内容
マネージ コードの分析
マネージ コードのコード分析を使用すると、Microsoft .NET Framework デザイン ガイドラインに規定されたプログラミングやデザインに関する規則違反など、マネージ アセンブリに関する情報を得ることができます。警告メッセージは、プログラミングやデザイン上の問題を識別し、可能であれば問題の解決方法を提供します。
コード分析を使用したマネージ コードの品質の分析
マネージ コード分析ツールを構成して実行する方法について説明します。マネージ コードの警告に対応するコードの解析 C/C++ コードのコード分析でレポートされる警告について説明します。
C++ コードの分析
C/C++ コード分析ツールは、C/C++ ソース コードの障害に関する情報を開発者に提供します。このツールによってレポートされる一般的なコーディング エラーとしては、バッファー オーバーラン、初期化されていないメモリ、null ポインターの逆参照、メモリ リーク、リソース リークなどがあります。
コード分析を使用した C/C++ コードの品質の分析
C/C++ コード分析ツールを構成して実行する方法について説明します。C/C++ コードの警告に対応するコードの分析
C/C++ コードのコード分析でレポートされる警告について説明します。
ドライバーのコード分析
コード分析ツールでドライバーのソース コードを系統的に分析することにより、ドライバーの安定性と信頼性を向上させることができます。
Analyzing Driver Quality by Using Code Analysis Tools
ドライバーのコード分析は、C および C++ プログラムの基本的なコーディング エラーを検出するコンパイル時の静的検証ツールで、主にカーネル モードのドライバー コードのエラーを検出するように設計された特殊なモジュールが含まれます。静的ドライバー検証ツール (SDV) は、Windows カーネル モードのドライバーのソース コードを系統的に分析する静的検証ツールです。SDV は、ドライバーが Windows オペレーティング システムのカーネルと適切にやり取りしているかどうかを判定します。Code Analysis for Drivers Warnings
ドライバーのコード分析でドライバー コードに潜在的なエラーが検出されたときにレポートされる警告ついて説明します。
このセクションのその他のトピック
コード分析の詳細情報
チーム プロジェクト チェックイン ポリシーによるコード品質の向上