スタックトレース
一般的な統合開発環境では、デバッガをブレーク(一時停止)したときに「呼び出し履歴」としてスタックトレースを直感的に表示・追跡することができる。エンドユーザには、エラーメッセージの一部としてスタックトレースが表示されることがあり、障害報告の際に活用することができる。
スタックトレースを使用すると、スタックトレースが生成されるまでの、呼び出された入れ子関数(英語版)のシーケンスを追跡できる。事後分析では、障害が発生した関数まで追跡できる(ただし必ずしも追跡できるわけではない)。末尾再帰はスタックトレースに表示されない。
次の、エラーが含まれたPythonプログラムで説明する。
このプログラムを標準のPythonインタプリタで実行すると、次のエラーメッセージが生成される。
スタックトレースは、エラーが発生した場所、つまり関数cを示している。また、関数cは関数bから、関数bは関数aから、関数aはプログラムの15行目(最終行)から呼び出されたことも示している。
これらの3つの関数のそれぞれのアクティベーションレコードは、関数aがスタックの下部を占有し、関数cがスタックの上部を占有するようにスタックに配置される。