Open2

スタック

mabomabo

コールスタック

関数の呼び出しを管理するためのデータ構造
関数が呼び出されると、その関数の実行コンテキストがスタックに追加(プッシュ)される。
関数の実行が終了すると、その実行コンテキストがスタックから削除(ポップ)される。

関数が呼び出されると、その関数が属するスコープ(実行コンテキスト)がコールスタックに積み上がる。

実行コンテキスト含まれる情報
・変数環境:関数内の変数や関数宣言
・スコープチェーン:現在のスコープとその外側のスコープへの参照
・this の値:関数が実行されるコンテキスト

関数が呼び出されたときの動作
①関数が呼び出されると、新しい実行コンテキストが作成される
②その実行コンテキストがコールスタックに追加される
③関数内のコードが実行される
④関数の実行が終了すると、実行コンテキストがコールスタックから削除される。

※実行コンテキスト:コードの実行時に動的に作成される概念

mabomabo

スタックトレース(Stack Trace)

プログラムの実行中に発生したエラー(例外)の原因や、どの関数がどの順番で呼び出されたのかを示す情報のこと。
特に、エラーが発生したときに「どのメソッドがどの行で実行されていたか」を確認できるため、デバッグに役立つ重要な情報。

スタックトレースは 「呼び出し履歴」 を上から下へ順番に表示する。
一般的に、一番上がエラーの発生原因であり、下に行くほどそのエラーに至るまでに呼ばれた関数が表示される。

スタックトレースを読むポイント

・エラーの種類(例外の名前) を確認
・エラー発生の最上部(最も上にある行) を見る
 → エラーの原因になったコードがどこかを特定する
・関数の呼び出し順(上から下へ) をたどる
 → どのような流れでエラーに至ったかを確認する