ピンボールアクエリオン

スタックトレースstack backtracestack traceback

スタックトレースとは、実行中のコンピュータプログラムエラーが発生した際に、直前に実行していた関数メソッドなどの履歴を表示すること。

 

プログラムを構成する関数やメソッド、サブルーチンなどの呼び出し(コール)や実行終了(リターン)などの制御はメモリ上のコールスタックと呼ばれる領域で行われており、関数内で別の関数が呼び出される度にスタックの末尾に実行途上の関数についての情報が追加されていく。

スタックトレースはプログラムが異常終了した際などに、その瞬間のスタックの内容を写しとったものである。最後尾には停止時に実行されていた関数が記載され、その関数の呼び出し元の関数、呼び出し元をさらに呼び出した関数…という具合に実行途上の関数を順に遡っていくことができる。

スタックトレースは開発者がプログラムを修正するデバッグ過程で用いられ、コード上のどのような実行経路を経て問題が発生したかを知ることができる。インタプリタなどの言語処理系やデバッグツールにスタックトレース用の機能が用意されていることが多い。

他の辞典による解説 (外部サイト)