トレース ウィンドウ
What do you want to do?
Learn about:
Learn how to:
トレースウィンドウに関する参照情報については、下記をご参照ください。

ウィンドウトレースは、C-SPYドライバメニューから、。
このウィンドウには収集されたトレースデータが表示されます。
注記
C-SPY シミュレーター用には 3 つの異なるトレース(ウィンドウ[ETMトレース]、 [SWO トレース]、単純な[トレース])があります。各ウィンドウは若干異なっています。
[トレース]ウィンドウの表示内容は、使用する C-SPY ドライバおよびデバッグプローブのトレースサポートによって異なります。
要件
以下のいずれかが必要です。
C-SPY シミュレータ。(一部のコアおよびデバイスのみで使用できます。)
CMSIS-DAPプローブ
I-jetまたはI-jet Traceインサーキットデバッグプローブ
J-Link/J-Trace JTAG/SWDプローブ
ST-LINK JTAG/SWDプローブ
TI XDS プローブ
[トレース]ツールバー
[トレース]ウィンドウ のツールバーには以下が含まれます:
- 有効 / 無効

このウィンドウにおけるトレースデータの収集および表示を有効および無効にします。
- トレースデータのクリア

トレースバッファをクリアします。[トレース] ウィンドウ と[関数トレース] ウィンドウの両方が消去されます。
- ソースの切替え

[トレース]列で、逆アセンブリだけを表示するか、逆アセンブリおよび対応するソースコードの両方を表示するか切り替えます。
- ブラウズ

[トレース] ウィンドウで、選択した項目のブラウズモードのオン / オフを切り替えます(トレースデータの参照を参照)。
- 検索

検索を実行するダイアログボックスを表示します([トレースを検索]ダイアログボックスを参照)。
- セーブ

[ETM トレース]および[SWO トレース] ウィンドウでは、このボタンによって[トレースの保存] ダイアログボックスが表示されます([トレースの保存]ダイアログボックスを参照)。
C-SPY I-jet ドライバとC-SPY シミュレータでは、このボタンによって標準の[名前を付けて保存]ダイアログボックスが表示され、ここで収集したトレースデータをタブで列ごとに区切られたテキストファイルに保存できます。
- 設定 の編集

C-SPY シミュレータでは、このボタンは使用できません。
[ETM トレース]では、ウィンドウこのボタンで、[トレース設定]ダイアログボックスが表示されます([ETM トレース設定]ダイアログボックス (J-Link/J-Trace)と[ETM トレース設定]ダイアログボックス (I-jet)を参照)。
[SWO トレース]では、ウィンドウこのボタンが[SWO トレースウィンドウ設定] ダイアログボックスを表示します。[SWO トレースウィンドウ設定]ダイアログボックスを参照してください。
- プログレスバー

大量のトレースデータを収集しているときは、すべてを処理して表示するには少し時間がかかることがあります。プログレスバーには、処理量が表示されます。
表示エリア(C-SPY シミュレータ内)
このエリアには、収集された実行済みのマシン命令のシーケンスが表示されます。さらに、ウィンドウにはトレースデータも表示できます。

このエリアには、C-SPY シミュレータの以下の列が含まれます。
一番左にある列には、バッファ内での移動を簡単にするために識別するアイコンが含まれています。

黄色いひし形は、トレース実行ポイントを示し、ターゲットの実行が開始されるとマークされます。

緑の右矢印はコール命令を示します。

緑の左矢印はリターン命令を示します。

深緑のブックマークは、ブックマークの移動を示します。

赤の矢印は割り込みを示します。

すみれ色のバーは、検索結果を示します。
- タイムスタンプ
この時点までのサイクル数。
- トレース
収集された実行済みのマシン命令シーケンス。オプションで、対応するソースコードも表示できます。
- Read Addr, Read Data, Write Addr, Write Data
これらの列には、メモリへのリード / ライトが表示されます。
赤色の行は前の行と赤色の行が連続していないことを示します。つまり、トレースデータがオーバフローによって失われたときなど、収集されたトレースデータに差があることを示します。
表示エリア(C-SPY ハードウェアデバッガドライバの ETM トレース用)
このエリアには、収集された実行済みのマシン命令のシーケンスとその他のトレースデータが表示されます。

ETM データトレースのある Arm7/Arm9/Arm11- ベースのでデバイスを使用しているときに、データトレースは、C-SPY I-jet ドライバまたは CMSIS-DAPドライバにだけ使用できます。
このエリアには以下の列が含まれます。一部の列は、使用する C-SPY ドライバ、CPU およびプローブに依存することに注意してください。
一番左にある列には、バッファ内での移動を簡単にするために識別するアイコンが含まれています。

黄色いひし形は、トレース実行ポイントを示し、ターゲットの実行が開始されるとマークされます。

緑の右矢印はコール命令を示します。

緑の左矢印はリターン命令を示します。

深緑のブックマークは、ブックマークの移動を示します。

赤の矢印は割り込みを示します。

すみれ色のバーは、検索結果を示します。
- タイムスタンプ
内部 I-jet Trace タイムスタンプ。
- アドレス
トレースフレームに関連する命令のアドレスです。
- OP コード
トレースフレームに関連する命令の処理です。16 進数値の後に追加情報を表示できます。
x2— 2 つの命令が実行された場合C— 命令が I-Cache から読みとられた場合
- Exec
実行モード —
Arm、Thumb、またはNoExec。
- トレース
収集された実行済みのマシン命令シーケンス。オプションで、対応するソースコードも表示できます。
- Except
例外のタイプ(発生した場合)。
- アクセス
トレースフレームに関連する命令のアクセスタイプ。
DMAは DMA 転送を意味します。アドレスとデータの情報は、どの転送が実行されたかを示します。
- データアドレス
データトレースのアドレス。
- データ値
データトレースの値。
- コメント
追加情報。
赤色の行は前の行と赤色の行が連続していないことを示します。つまり、トレースデータがオーバフローによって失われたときなど、収集されたトレースデータに差があることを示します。
表示エリア(SWO トレース)
このエリアには、SWO トレースの以下の列が含まれます。
- SWO パケット
取得した SWO パケットの内容が、16 進数値として表示されます。
- サイクル
実行の開始からイベントまでのサイクルの概数。
J-Link の場合、この値は CPU により報告されます。
I-jet の場合、この値は I-jet Trace 内部のタイムスタンプと同じになります。
- イベント
取得した SWO パケットのイベントのタイプ。列に
オーバフローと表示される場合、多くの SWO 機能で同時に SWO チャンネルが使用されているため、データバケットは送信できませんでした。通信チャンネルの送信量を減らすには、SWO ボタン(IDE のメインウィンドウのツールバー上にあります)にマウスのポインタを合わせて、どの C-SPY 機能がトレースデータの生成を要求しているかについて詳細なツールチップ情報を入手します。一部の機能を無効にしてください。
- 値
イベントの値(該当する場合)。
- トレース
イベントがサンプルの
PC値の場合、逆アセンブルされた命令もこの列に表示されます。オプションで、対応するソースコードも表示できます。
- コメント
追加情報には、選択したトレースイベントカウンタの値、データログブレークポイントに使用されたコンパレータ(ハードウェアブレークポイント)の数が表示されます。
赤色の行は前の行と赤色の行が連続していないことを示します。つまり、トレースデータがオーバフローによって失われたときなど、収集されたトレースデータに差があることを示します。
ヒント
表示エリアに不明な文字が表示される場合、[SWO 設定]ダイアログボックスの[CPU クロック]に正しい値を指定したか確認してください。
コンテキストメニュー
以下のコンテキストメニューがあります。

注記
このメニューの内容は、動的でソフトウェアとハードウェアのサポートを両方組み合わせた機能によって異なります。ただし、下のメニューコマンドのリストは完全ですべての可能性のあるコマンドが含まれています。サブメニューコマンドのショートカットは、Ctrl キーを使用できないので注意してください。
以下のコマンドがあります。
- 有効化
このウィンドウにおけるトレースデータの収集および表示を有効および無効にします。
- クリア
トレースバッファをクリアします。[トレース] ウィンドウ と[関数トレース] ウィンドウの両方が消去されます。
- ソースコードの表示
[トレース]列で、逆アセンブリだけを表示するか、逆アセンブリおよび対応するソースコードの両方を表示するか切り替えます。
- ブラウズ
[トレース] ウィンドウで、選択した項目のブラウズモードのオン / オフを切り替えます(トレースデータの参照を参照)。
- 検索 > 検索(F)
[トレース] ウィンドウで検索を実行するダイアログボックスを表示します([トレースを検索]ダイアログボックスを参照)。ウィンドウの内容は、最初の一致するものをスクロールして表示します。
- 検索 > 次を検索 (G)
指定した文字列に一致する次の箇所を検索します。
- 検索 > 前を検索(Shift+G)
指定した文字列に一致する前の箇所を検索します。
- 検索 > 消去(Shift+F)
ウィンドウのハイライトされたすべての検索を削除します。
- すべて検索
[トレース] ウィンドウで検索を実行するダイアログボックスを表示します([トレースを検索]ダイアログボックスを参照)。検索結果は、[トレースを検索] ウィンドウ([表示]>[メッセージ]コマンドを選択)に表示されます(トレースを検索 ウィンドウを参照)。
- 移動 > 現在のループの後 (L)
選択したプログラムカウンタを識別し、トレースデータをスキャンして、同じアドレスが再度見つかるまでプログラムカウンタを収集します。これでループが検出されます。(ループの長さが 1000 命令以上のものは検出されません。) 収集された一部ではないプログラムカウンタが見つかるまで前に進みます。これは、アイドルまたはポーリングループの多くの反復を通過する場合に便利です。
- 移動 > 現在のループの前 (Shift+L)
[現在のループの後]と同様に動作しますが、ループの外に戻る方向に移動します。
- 移動 > 現在の関数の後 (U)
次の一致しないリターン命令に移動します。これは現在の関数から抜け出すことと同様です。
- 移動 > 現在の関数の前 (Shift+U)
一番最近の一致しないコール命令に移動します。
- 移動 > 次の実行文 (S)
開始点とは異なる C 実行文に属する次の命令に移動します。関数呼び出しをスキップします。例えば、開始フレームにある次の実行文に到達しようとします。
- 移動 > 前の実行文 (Shift+S)
[次の実行文]と同様に動作しますが、一番近くの異なる C 実行文へ逆に移動します。
- 移動 > 次の同じアドレス (A)
開始プログラムのカウンタアドレスの次の例に移動します。通常は次のループの繰り返しです。
- 移動 > 前の同じアドレス (Shift+A)
一番最近の前の開始プログラムカウンタアドレスのインスタンス。
- 移動 > 次の割り込み (I)
次の割り込みエントリに移動します。(一致する割り込み exit を検索するには、[現在の関数の後]を参照。)
- 移動 > 前の割り込み (Shift+I)
一番最近の割り込みエントリに移動します。
- 移動 > 次の実行開始ポイント (E)
CPU が開始された次のポイントに移動します。ブレークポイントでアプリケーションが停止またはステップ実行されたところ。
- 移動 > 前の実行開始ポイント (Shift+E)
一番最近の CPU が開始されたところに移動します。
- 移動 > 次の不連続 (D)
トレースデータの次の不連続に移動します。
- 移動 > 前の不連続 (Shift+D)
トレースデータの一番近い前の不連続に移動します。
- ブックマーク > 切替え (+)
新しいナビゲーションブックマークを追加、または既存のブックマークを削除します。
- ブックマーク > 次に進む (B)
次のナビゲーションブックマークに移動します。
- ブックマーク > 前に戻る (Shift+B)
一番最近のナビゲーションブックマークに移動します。
- ブックマーク > すべて消去
すべてのナビゲーションブックマークを削除します。
- ブックマーク>場所 (0–9)
サブメニューの下部には、最近定義された 10 個のブックマークが、それぞれ 0 ~ 9 のショートカット キーとともにリストされます。
- タイムスタンプ > ゼロポイントとして設定 (Z)
トレースデータの収集されたシーケンスの選択した行をリファレンスゼロポイントとして設定します。[トレース] ウィンドウの行数は、この行を
0として表示し、このタイムスタンプと関連のあるその他のすべての行のタイムスタンプを再計算します。
- タイムスタンプ > ゼロポイントに移動 (Shift+Z)
トレースデータの収集されたシーケンスのリファレンスゼロポイントに移動します(設定している場合)。
- タイムスタンプ > ゼロポイントを消去
トレースデータのリファレンスゼロポイントを削除し、すべての行の元のタイムスタンプを復元します。
- セーブ
[ETM トレース]および[SWO トレース] ウィンドウでは、このボタンによって[トレースの保存]ダイアログボックスが表示されます([トレースの保存]ダイアログボックスを参照)。
C-SPY I-jet ドライバとC-SPY シミュレータでは、このボタンによって標準の[名前を付けて保存]ダイアログボックスが表示され、ここで収集したトレースデータをタブで列ごとに区切られたテキストファイルに保存できます。