5.2 コールスタックの検査

コールスタック、つまりランタイムスタックは、関数の復帰情報とローカル変数を保存するのに使用されるメモリの領域です。各関数が呼び出されると、レコードがコールスタック上に作成されます。このレコードは一般にスタックフレームと呼ばれます。
デバッガは実行パスに存在する関数の呼び出しシーケンスを表示できます。これは、その呼び出しアドレスが引き続きコールスタックに存在しているためです。ただし、以下のような例外もあります。
  • 関数が実行を完了すると、関連付けられているスタックフレームはコールスタックから削除され、情報はデバッガで使用できなくなります。
  • デバッグ情報がない関数がコールスタックに含まれていると、デバッガでスタックフレームの呼び出しのバックアップをトレースできない場合があります。したがって、完全なコールスタックを正しく表示するには、すべてのコードをデバッグ情報とともにコンパイルする必要があります。
マルチスレッドアプリケーションをデバッグする場合、別個のコールスタックはスレッドごとに維持されます。
DS-5 デバッグパースペクティブのすべてのビューが現在のスタックフレームに関連付けられ、別のフレームを選択すると更新されます。現在のスタックフレームは太字で示されます。
図 5-2 [Debug Control]ビュー
[Debug Control]ビュー

関連する概念
6.9 共有ライブラリのデバッグについて
6.10.2 Linux カーネルのデバッグについて
6.10.3 Linux カーネルモジュールのデバッグについて
関連する参考文書
4.10 アプリケーションのステップ実行
5.1 ターゲット実行環境の検査
4.11 Unix シグナルの処理
4.12 プロセッサ例外処理
非機密扱いPDF file icon PDF 版ARM DUI0446VJ
Copyright © 2010-2015 ARM.All rights reserved.