Stack aufrufen

Autor: Lewis Jackson
Erstelldatum: 8 Kann 2021
Aktualisierungsdatum: 25 Juni 2024
Anonim
Der Stack
Video: Der Stack

Inhalt

Definition - Was bedeutet Call Stack?

Ein Aufrufstapel in C # ist die Liste der Namen von Methoden, die zur Laufzeit vom Beginn eines Programms bis zur Ausführung der aktuellen Anweisung aufgerufen werden.


Ein Aufrufstapel soll hauptsächlich den Punkt verfolgen, an dem jede aktive Unterroutine die Kontrolle zurückgeben soll, wenn die Ausführung beendet ist. Call Stack fungiert als Tool zum Debuggen einer Anwendung, wenn die zu verfolgende Methode in mehr als einem Con aufgerufen werden kann. Dies ist eine bessere Alternative als das Hinzufügen von Ablaufverfolgungscode zu allen Methoden, die die angegebene Methode aufrufen. Immer wenn eine Ausnahme im Benutzercode ausgelöst wird, löscht die Common Language Runtime (CLR) den Aufrufstapel und sucht nach dem catch-Block, um den spezifischen Ausnahmetyp zu bestimmen. Wenn es keinen geeigneten Handler gibt, beendet CLR die Anwendung. Der Aufrufstapel wird daher verwendet, um dem Ausführungszeiger mitzuteilen, wohin er als nächstes gehen soll.

Eine Einführung in Microsoft Azure und die Microsoft Cloud | In diesem Handbuch erfahren Sie, worum es beim Cloud-Computing geht und wie Microsoft Azure Sie bei der Migration und Ausführung Ihres Unternehmens aus der Cloud unterstützen kann.

Techopedia erklärt Call Stack

Der Aufrufstapel ist als "Stapel" organisiert, eine Datenstruktur im Speicher zum Speichern von Elementen in einer Last-In-First-Out-Weise, so dass der Aufrufer des Unterprogramms die Rücksprungadresse nach Beendigung auf den Stapel und das aufgerufene Unterprogramm schiebt. Entfernt die Rücksprungadresse vom Call-Stack, um die Kontrolle an diese Adresse zu übertragen.


In C # beginnt jede Anwendung mit einer "main" -Methode, die wiederum andere Methoden aufruft. Bei jedem Aufruf einer Methode wird die Methode am Anfang des Stapels hinzugefügt und bei der Rückkehr zum Aufrufer aus dem Stapel entfernt. Der Gültigkeitsbereich einer in einem Block deklarierten Variablen wird ab dem Zeitpunkt bestimmt, zu dem ihr Wert auf den Stapel (als Teil des Aufrufstapels) verschoben wird, bis die Ausführung den Block verlässt, wenn die Variable und der Aufrufstapel vom Stapel entfernt werden. Auf diese Weise verwaltet der Stapel sowohl lokale Variablen (Werttypen) als auch den Aufrufstapel (Stapelrahmen), dessen Größe die Komplexität eines Programms angibt.

Diese Definition wurde in der con von C # geschrieben