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