コールスタックとは

プログラム実行 / 調査

要点

コールスタックは、プログラムが処理を呼び出してきた順番を積み重ねて記録する仕組みです。

プログラムが、どの処理からどの処理を呼び出して現在地へ来たのかを表すコールスタックを整理します。

身近な例で考える

作業中に別の作業を頼まれ、その途中でもう一つ作業を頼まれたとき、最後に頼まれた作業から終わらせて元へ戻る流れに似ています。

正式な意味

実行中の処理と、その処理を呼び出した処理を順番に保持し、処理が終わったときに戻る場所を管理する仕組みです。

英語:
Call Stack
読み方:
コール・スタック

混同されやすい言葉: スタックトレース、ログ、プロファイル

呼び出した順番を積み重ねる

処理Aが処理Bを呼び、処理Bが処理Cを呼んだ場合、コールスタックにはA、B、Cの順で積み重なります。Cが終わるとBへ戻り、Bが終わるとAへ戻ります。

重い処理が、どこから呼ばれたかを調べる

プロファイルにコールスタックが含まれていれば、CPUを多く使った処理名だけでなく、その処理へ至った呼び出し経路も確認できます。同じ処理でも、呼び出し元によって負荷の原因が異なる場合があります。

スタックトレースは、ある時点の呼び出し経路を表示したもの

この説明を書くときに確認した情報

できるだけ公式資料や原著論文を確認しています。

  1. 公式資料MDN Web Docs
    Call stack

    最終確認: 2026-08-09

  2. 公式API資料Oracle
    StackFrame — Java Debug Interface

    最終確認: 2026-08-09