CLion 2026.2 Help

コードカバレッジ

CLion では、コードカバレッジ測定を使用して CMake アプリケーションとテストを実行できます。 コードカバレッジの結果は、実行中に実行されたコード行の割合と、特定の行がヒットした回数を提供します。

CLion は llvm-covgcov の統合により、コードカバレッジデータを収集して表示します。 これらのツールには特別なカバレッジコンパイラーフラグが必要です。 手動で渡すか、CLion に 自動で追加させることができます。

カバレッジのある CMake アプリケーションまたはテストの実行

カバレッジで実行 アクションは、 CMake アプリケーションおよびテスト構成(Boost.TestGoogle TestCatch )で使用できます。

カバレッジで実行 は、設定スイッチャーの横のツールバーまたはガターメニューから呼び出すことができます。

カバレッジで実行
カバレッジで実行

カバレッジで実行 を呼び出したが、カバレッジファイル( .gcov または .profraw )が見つからない場合、CLion はカバレッジフラグを追加することを提案します。

取材通知

修正して再実行 をクリックすると、CLion は次のことを行います。

  1. 現在使用中のプロファイルと同じビルドタイプ、ツールチェーン、CMake オプションを持ち、さらにカバレッジ用コンパイラーオプションが追加された既存の CMake プロファイル を検索します(カバレッジ用コンパイラーフラグ を参照)。 見つかった場合は、CLion がそのプロファイルに切り替え、カバレッジ付きで構成を実行します。

  2. そのようなプロファイルが見つからない場合、CLion は新しいプロファイルを作成し、現在のプロファイルから ビルドタイプツールチェーンCMake オプション のパラメーターをコピーし、カバレッジフラグを CMake オプションの CMAKE_CXX_FLAGSCMAKE_C_FLAGS として渡します。 その後、CLion はこの新しく作成したプロファイルに切り替え、カバレッジ付きで構成を実行します。

    カバレッジフラグを含む CMake プロファイルを自動的に追加

カバレッジコンパイラーフラグ

カバレッジフラグを手動で渡す場合は、コンパイラーとカバレッジツールに応じて、次のいずれかのオプションを使用できます。

  • GCC

    -fprofile-arcs -ftest-coverage または --カバレッジ

    この場合、 gcov ツールが使用されます。

  • Clang/Clang-cl

    ここに 2 つのオプションがあります。

フラグを指定するには、 CMAKE_CXX_FLAGS 変数(C プロジェクトの場合は CMAKE_C_FLAGS )を 設定(英語)するか、 add_compile_options(英語) コマンドなどの他の方法を使用します。

カバレッジ結果

カバレッジデータの準備ができると、カバレッジツールウィンドウが自動的に開きます。 最初は、起動時にカバーされたフォルダーごとのファイルの割合が表示されます。 フォルダーをダブルクリックすると、 行カバレッジ​ 列と ブランチカバレッジ​ 列が表示されます。

カバレッジツールウィンドウ
  • 行カバレッジ​ は、ファイルごとにカバーされた行数を示します。 コンパイラーと使用しているフラグによって、動作方法が次のように異なることに注意してください。

    GCC/gcov(--カバレッジ フラグ)は正確なラインカバレッジを提供します。 1 行に複数のコードブロックがある場合、少なくとも一部のステートメントが実行されていれば、その行は完全にカバーされている(エディターで緑色でマークされている)と見なされます。

    Clang/llvm-cov は、プログラムが -fprofile-instr-generate-fcoverage-mapping でコンパイルされている場合、ステートメントカバレッジを提供します。 行内のすべてのステートメントが実行されなかった場合、その行は部分的に覆われている(黄色)とマークされます。

  • ブランチカバレッジ​ は、各制御構造のすべてのブランチを考慮に入れます。

    これは、LLVM バージョン 12.0.0 以降、および GCC の任意のバージョンでサポートされます。 macOS では、AppleClang のバージョンは以前の LLVM バージョンと一致します (この表(英語)を参照)。 AppleClang 12.0.x は、ブランチカバレッジをサポートしない LLVM 10.0.x に対応します。 これを回避するには、GCC に切り替えるか、カバレッジコンパイラーフラグを --カバレッジ に変更します。

    ブランチカバレッジのコンパイラーフラグ

    GCC と gcov ツールは、ブランチカバレッジを計算するときに、コンパイラーが生成したブランチを考慮します。 これは、たとえば、例外処理を使用する場合に結果に影響を与える可能性があります。

任意のファイルで、ガターインジケーターを確認し、特定の行の横のそれをクリックして、ヒットした回数を確認できます。

カバレッジラインヒット

完全に実行された行は緑色でマークされます。 黄色のマーカーは、部分的にしか実行されなかったことを意味します。

カバレッジのハイライトの色を変更するには、 をクリックするか、 設定 | エディター | カラースキームの切り替え | 一般 に移動して 行カバレッジ​ ノードを展開します。

CLion は、プロジェクトビューにカバレッジ統計も表示します。

プロジェクトビューのコードカバレッジ結果

複数の実行の結果をマージする

カバレッジ分析を再実行すると、CLion は、新しい結果を表示する方法を選択するよう求めます。

複数のカバレッジスイートのマージ

アクティブなスイートに追加 – 以前に収集された統計に新しい結果が追加されます。

アクティブなスイートを置き換え – すでに収集されているデータは上書きされます。

収集したカバレッジデータを適用しない – 新しい結果は無視されます。

カバレッジ設定

コードカバレッジ設定は 設定 | ビルド、実行、デプロイ | カバレッジ に収集されます。

コードカバレッジ設定

ツール セクションでは、 gcov/llvm-cov/llvm-profdata へのカスタムパスを提供できます。 デフォルトでは、CLion は PATH 環境変数からパスを取得します。

トラブルシューティング

  • 空のカバレッジレポートが表示される場合は、 コンパイラーのバージョンは gcov/llvm-cov のバージョンと一致する ツール(デフォルトまたはカスタム)を使用しているかどうかを確認してください。

    コンパイラーとカバレッジツールの不一致通知

    コンパイラーを変更したり、 Windows ツールチェーンを切り替えたりするときは、このことを覚えておいてください。

2026 年 7 月 15 日