- IAR Embedded Workbench for Arm 9.70.x
- C-SPY デバッグ
- アプリケーションタイムライン
- アプリケーションタイムラインのリファレンス情報
- [タイライン]ウィンドウ—コールスタックグラフ
[タイライン]ウィンドウ—コールスタックグラフ
What do you want to do?
Learn about:
Learn how to:
Get related information:
コールスタック用タイムラインウィンドウに関するリファレンス情報は、下記を参照してください。

デバッグセッション中、タイムラインウィンドウはドライバメニューから利用できます。

このウィンドウには、共有した時間軸に比例したさまざまなグラフでトレースデータが表示されます。
コールスタックグラフには、トレースシステムによって収集された関数呼出しおよびリターンのシーケンスが表示されます。
注記
保存されるログの数には制限があります。この制限を超過すると、バッファの一番古いエントリが消去されます。
要件
以下のいずれかが必要です。
C-SPY シミュレータ。(一部のコアおよびデバイスのみ。)
ETB/ETMおよびC-SPY CMSIS-DAPドライバの1つ、C-SPY I-jetドライバ、またはC-SPY J-Link/J-Traceドライバ
C-SPY I-jetドライバおよびI-jet Traceデバッグプローブ
C-SPY J-Link/J-TraceドライバおよびJ-Traceデバッグプローブ
コールスタックグラフの表示エリア
それぞれの関数呼び出しは、リターンまでのエントリ時間から拡張する横棒として表示されます。呼び出した関数はその呼び出し元の上に表示されます。横棒には 4 つの色を使用できます。
グリーンは、デバッグ情報を持つ通常のC関数です。
ライトグリーンは、デバッガがアセンブララベルを通して認識する関数です。
ミディアム イエローは、デバッグ情報を持つ通常の割り込みハンドラです。
ライトイエローは、デバッガがアセンブララベルを通して認識する割り込みハンドラです。
タイミング情報は関数の呼び出し時、または呼び出し間のサイクル数を表します。
ウィンドウの下部分に、秒またはサイクルを時間単位として使用する共有時間軸があります。
グラフをクリックすると、関連のソースコードが表示されます。
注記
非常に最適化されたコードの場合、C-SPY はすべてのコールを識別できない場合があります。これは、非常に最適化されたコードの場合コールスタックは全体的に信頼できないということです。
コンテキストメニュー
以下のコンテキストメニューがあります。

注記
このメニューの内容は、動的でソフトウェアとハードウェアのサポートを両方組み合わせた機能によって異なります。ただし、下のメニューコマンドのリストは完全ですべての可能性のあるコマンドが含まれています。
以下のコマンドがあります。
- 移動
グラフを移動するためのコマンド。以下から選択します:
[次へ]は、グラフ内の次の適切な地点に選択内容を動かします。ショートカットキー:右矢印。
[前へ]は、グラフ内の次の適切な地点に選択内容を戻します。ショートカットキー:左矢印。
[最初]は、グラフ内の最初のデータ項目に選択内容を動かします。ショートカットキー:Home。
[最後]は、グラフ内の最後のデータ項目に選択内容を動かします。ショートカットキー:End。
[終了]は、表示されたすべてのグラフの最後のデータに選択内容を動かします。ショートカットキー:Ctrl+End。
- オートスクロール
スクロールのオンとオフを自動で切り替えます。オンの場合、[移動] >[終了]を選択すると一番最新の収集したデータが自動的に表示されます。
- ズーム
ウィンドウをズームするためのコマンド。つまり、タイムスケールを変更します。以下から選択します:
選択範囲をズームは、現在の選択内容をウィンドウに合わせます。ショートカットキー:Return。
ズームインは、タイムスケールを拡大します。ショートカットキー:+
ズームアウトは、タイムスケールを縮小します。ショートカットキー:–
10ns や 100ns、1us などは、それぞれ間隔 10 ナノ秒、100 ナノ秒、1 マイクロ秒をウィンドウに合わせます。.
1ms、10ms などは、間隔をそれぞれ 1 ミリ秒または 10 ミリ秒にしてウィンドウに合わせます。
10m、1h などは、間隔をそれぞれ 10 分または 1 時間にしてウィンドウに合わせます。
- コールスタック
以下のコールスタック固有のコマンドが使用可能なことを示す見出し。
- 有効化
グラフの表示のオンとオフを切り替えます。グラフを無効にすると、そのグラフはウィンドウで OFF として示されます。グラフ用に収集されたデータがない場合、グラフではなく[データなし]と表示されます。
- タイミングを表示
タイミング情報の表示のオンとオフを切り替えます。
- ソースへ移動
エディタウィンドウの対応するソースコードを表示します(該当する場合)。
- ファイルに保存
コールスタックグラフのすべての内容(または選択した内容)をファイルに保存します。このメニューコマンドは、C-SPY を実行していないときのみ使用できます。
- コールスタックの移動 > 現在のループの後 (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)
トレースデータの一番近い前の不連続に移動します。
- グラフを選択
[タイムライン] ウィンドウで表示するグラフを選択します。
- 時間軸単位
時間軸で使用する単位として、秒かサイクルのどちらかを選択します。
[サイクル]が利用できない場合、グラフは、異なるクロックソースに基づきます。その場合は、マウスポインタでグラフを指し示すことによって、ツールチップ情報としてサイクル値を表示することができます。
- プロファイル選択
[関数プロファイラ] ウィンドウでプロファイリングの間隔を有効にします。このコマンドは、C-SPY ドライバが PC サンプリングをサポートしている場合にのみ使用できます。プロファイリング情報の間隔を選択するを参照してください。