[パフォーマンスモニタリング]ウィンドウ
[パフォーマンスモニタリング]ウィンドウは、デバッグセッション中[C-SPY ドライバ]メニューから使用できます。

このウィンドウを使用して、イベント回数や PMU を介した CPU クロックサイクルを監視します。
注記
このウィンドウのカウンタの名前は、ウォッチウィンドウなどの別のウィンドウで疑似変数として使用できます。
要件
パフォーマンスモニタリングをサポートするデバッグプローブと以下のいずれかが必要です。
C-SPY I-jetドライバ
C-SPY J-Link/J-Traceドライバ
表示エリア
このエリアには、アプリケーションの例外中に発生した一番最新の障害例外の説明が表示されます。
このエリアには以下の列が含まれます。
- Counter
カウンタ の名前。
- 値
カウント結果。
- Event ID
カウンタに割り当てられたイベント ID。
- オーバフロー
検出したオーバーフロー数。
コンテキストメニュー
このコンテキストメニューでは、イベントやカウンタをセットアップしたり管理することができます。

- Enable Performing Monitoring
パフォーマンスモニタリングを有効にします。
- Update All Counters
PMU がランタイムでアクセスできる(言い換えると、PMU レジスタはマップしたメモリでランタイム時にアクセス可能)場合、このコマンドは、
PMCCNTRを含むすべてのカウンタの値を更新します。それ以外の場合は、利用できません。
- Auto-Update
このオプションは、PMU レジスタがランタイム時にアクセス可能な場合のみ利用可能です。有効な場合、[パフォーマンス監視]ウィンドウは定期的に自動で更新されます。それぞれの更新間隔は、[ツール]>[オプション]>[デバッガ]ページの LiveWatch 設定で管理できます。
実行中、C-SPY はオーバーフローを累積して各関連カウンタの合計値に加算します。
[自動更新]更新レートの設定が低すぎると、PMU レジスタが実行中に 1 回以上オーバーフローになり、合計カウントが信頼できなくなることがあるので気を付けてください。必ず更新を一番小さいレジスタで 1 回以上行います。これによりサイクルカウンタと同じ頻度でインクリメントしていると想定されます。
- Set Common Event
common event のリストを開きます。選択したイベントは現在選択されているカウンタに割り当てられます。
このメニューアイテムは
PMCCNTRでは機能しません。
- Reset Counter
現在選択されているカウンタをリセットします。この操作は
PMOVSRレジスタのそのカウンタのオーバーフローもリセットします。
- Reset All Counters
PMCCNTRを含むすべてのカウンタをリセットします。この操作はPMOVSRレジスタのすべてのオーバーフロービットもリセットします。
- Copy Value to Clipboard
概要のアスタリスク (*) マークのあるもの以外の現在選択しているカウンタの値をコピーします。
- Copy all to Clipboard
ウィンドウの全体内容をコピーします。この操作はテーブルを作成し、そのテーブルにはタブの文字で区切られているそれぞれのカラムがあり、各行にはカウンタが含まれます。
- 64 サイクルごとにカウント
選択すると、
PMCR.Dビットをセットします。これによりPMCCNTRは64 クロックサイクルごとにのみカウントされます。これは、オーバーフロービットが設定されるまでのカウントをより長くすることができます。C-SPY は自動的にカウンタ数に 64 を掛けます。これにより、サイクルカウントの精度が低減します。
- Set Implementation Defined Event
処理系定義イベントのメニューを開きます。選択したイベントは現在選択されているカウンタに割り当てられます。
このメニューアイテムは
PMCCNTRでは機能しません。
- Clear Implementation Defined Event List
implementation-defined event リストをクリアします。
- Save Implementation Defined Event List
標準の[ファイルセーブ]ダイアログボックスを開き、このダイアログボックスからファイル名を選択して、現在の implementation-defined event リストを保存します。保存したファイルはテキストファイルで、それぞれのラインにはスペースまたはタブで区切られた ID、名前、イベントの説明が含まれています。ID は、
0xで始まる 16 進数で保存されます。
- Load Implementation Defined Event List
それぞれのラインにはスペースまたはタブで区切られた ID、名前、イベントの説明が含まれている、implementation-defined event リストを読み込める標準の[ファイルを開く]ダイアログボックスを開きます。
形式は次のように定義されます。
最初の要素は、少数または 16 進数である必要があります(16 進数は
0xで始まる必要があります)。2 番目の要素は、名前には文字、数字、またはアンダースコアが含まれている必要があります。
最後の要素は、任意のテキストを含めることができますが、ファイルがロードされるときに C-SPY は開始スペースと終了スペースを削除します。
行がこの構文に沿ってない場合は、無視されます。
例えば、Armv8 implementation-defined event リストが含まれているファイルの最初の行は、このようになります。
0x0040 L1D_CACHE_RD Attribute Level 1 data cache access, read
行の要素間に使用されるスペースには制限はありません。ただし、編集目的でタブ文字を使用することを推奨します。
