stack frame
スタックフレーム
名詞
複数形: stack frames
stack frameは、プログラムの実行中に各関数が呼び出されるたびにメモリ上のスタック領域に動的に割り当てられる領域を指します。この構造があることで、関数は自分自身のローカル変数や引数を保持し、処理が完了した後に呼び出し元の正確な位置に戻ることが可能になります。
メモリ管理における役割
関数が呼び出されると、新しいstack frameがプッシュされ、関数が終了するとそのフレームはポップされて破棄されます。これにより、再帰関数のように同じ関数が何度も呼び出される状況でも、それぞれの呼び出し回ごとに独立した変数空間が確保されるため、データが混同されることなく処理が行われます。
デバッグとスタックトレース
プログラムにエラーが発生した際に表示されるスタックトレースは、このstack frameの積み重なりを逆順に辿ったものです。開発者はこれを確認することで、どの関数がどの順番で呼び出され、どの時点のstack frameで問題が発生したのかを正確に特定できます。これは、メモリ上の物理的なデータ構造を論理的な実行フローとして可視化したものと言えます。
意味
関連語
stackmemorycall stackfunctionproceduresubroutinerecursionparameterargumentpointerregisterCPUprocessorexecutionruntimeallocationdeallocationpushpopoverflowunderflowsegmentation faultcrashdebuggerbacktracetracebackscopelifetimeheapdynamic memorystatic memoryaddress spaceoffsetopcodecompilerinterpretervirtual machinecontext switchinterruptexceptionactivationinvocationentry pointprologueepiloguearchitecturebytewordbit