コードカバレッジの概要
コードカバレッジを使用する理由
コードカバレッジ機能は、コードのあらゆる部分が実行されたことを確認するテスト手順を設計する場合に便利です。また、コードに到達不可能な部分が存在するかどうかを調べる場合にも使用できます。
コードカバレッジの概要
[コードカバレッジ]ウィンドウでは、C/C++ コードの現在のコードカバレッジ解析のステータスが表示されます。それぞれのプログラム、モジュール、関数について、コードカバレッジがオンになってからアプリケーションが停止するまでに実行されたコードの割合がパーセントで解析に表示されます。また、実行されていないすべてのステートメントの一覧も表示されます。解析は無効にするまで続行されます。
それをサポートするデバッグプローブの場合、C-SPY はリアルタイムでフル命令トレースをキャプチャできます。また[コードカバレッジ]ウィンドウの情報を処理できます。
注記
アセンブラコードは、[コードカバレッジ] ウィンドウの範囲外です。アセンブラコードのコードカバレッジを表示するには、[逆アセンブリ]ウィンドウを使用します。
コードカバレッジを使用するための要件と制限
コードカバレッジはほとんどの コアおよびデバイスの C-SPY シミュレータでサポートされているため、特定の要件や制限はありません。
ハードウェアデバッガシステムでコードカバレッジを使用するには、以下の要件および制限を考慮してください。
SWOトレースを使用する場合コードカバレッジ情報はトレースサンプルのみに基づきます。つまり、100%のコードカバレッジに達するまでに関数を数回実行する必要があります。また、シングルステップの実行時はコードカバレッジ情報は収集されません。
ETMトレースを使用すると、一部のデバイスでは、コードカバレッジの長さが無限になる可能性があります。この強化されたトレース機能なしでは、カバレッジの長さはトレースバッファのサイズで制限されます。トレースバッファを効率的に使用するには、トレース開始およびトレース停止ブレークポイントを使用してトレースデータの収集を制限します。
リアルタイム コードカバレッジには、デバッグプローブがこの機能をサポートしている必要があります。
最適化はネガティブにコードカバレッジに影響するため、最適化されていないコードでコードカバレッジを実行します。