Zum Inhalt springen
uencoder

Call Stack

Der Aufrufstapel speichert die Informationen der Funktionsaufrufe (Argumente, lokale Variablen, Rücksprungadressen) in LIFO-Reihenfolge; eine zurückkehrende Funktion poppt ihren Stackframe.

Zweck

Die Mechanik von Funktionsaufrufen und die Ursachen von Stack-Überläufen verstehen, als Grundlage für das Debuggen von Backtraces.

Mechanismus

Ein Funktionsaufruf pusht einen Stackframe (Argumente, lokale Variablen, Rücksprungadresse). Die Rückkehr poppt den Frame und springt zur Rücksprungadresse. Der Stapel ist begrenzt, daher verursacht tiefe Rekursion einen Stack-Überlauf. Die Endaufruf-Optimierung verwendet Frames wieder. Das Call-Stack-Panel der DevTools hilft beim Debuggen.

Anwendungsfälle

  • Debugging
  • LeistungAnalyse
  • RekursionOptimierung

Verwandte Begriffe

References