C/C++ のコード分析の概要

C/C++ Code Analysis ツールでは、C/C++ ソース コードに存在する可能性がある欠陥に関する情報を提供します。 このツールで報告される一般的なコーディング エラーとして、バッファー オーバーラン、初期化されていないメモリ、Null ポインターの逆参照、メモリ リーク、リソース リークなどがあります。 このツールでは、C++ Core Guidelines に対するチェックも実行します。

IDE (統合開発環境) の統合

コード分析ツールは、Visual Studio IDE の内部に完全に統合されています。

ビルド プロセス中は、ソース コードに対して生成された警告がエラー一覧に表示されます。 警告の原因となったソース コードに移動して、問題の原因と考えられる解決策に関する追加情報を表示できます。

コマンド ラインのサポート

次の例に示すように、コマンド ラインから分析ツールを使用することもできます。

C:\>cl /analyze Sample.cpp

Visual Studio 2017 バージョン 15.7 以降: CMake を含む任意のビルド システムでコマンド ラインからツールを実行できます。

#pragma のサポート

#pragma ディレクティブを使用して、警告をエラーとして扱うか、警告を有効または無効にするか、個々のコード行の警告を非表示にすることができます。 詳細については、「プラグマ ディレクティブと __pragma および _Pragma キーワード」を参照してください。

注釈のサポート

注釈によってコード分析の精度が向上します。 注釈には、関数のパラメーターと戻り値の型について、事前および事後の状態に関する追加情報を指定します。 詳細については、「SAL 注釈を使って C/C++ のコード障害を減らす方法」を参照してください。

チェックイン ポリシーの一部としての分析ツールの実行

チェックインされるすべてのソース コードが、特定のポリシーを満たしていることが必要な場合があります。 具体的には、最新のローカル ビルドのステップとして分析が実行されたことを確認する必要があります。 コード分析チェックイン ポリシーを有効にする方法の詳細については、「コード分析を用いたチェックイン ポリシーの作成と使用」を参照してください。

チーム ビルドの統合

ビルド システムの統合機能を使用すると、コード分析ツールを Azure DevOps ビルド プロセスのステップとして実行できます。 詳細については、 Azure Pipelines を参照してください。

関連項目