Stos wywołań

Autor: Lewis Jackson
Data Utworzenia: 8 Móc 2021
Data Aktualizacji: 24 Czerwiec 2024
Anonim
The Call Stack
Wideo: The Call Stack

Zawartość

Definicja - Co oznacza stos wywołań?

Stos wywołań w języku C # to lista nazw metod wywoływanych w czasie wykonywania od początku programu do wykonania bieżącej instrukcji.


Stos wywołań służy głównie do śledzenia punktu, do którego każda aktywna podprogram powinna zwrócić kontrolę po zakończeniu wykonywania. Stos wywołań działa jako narzędzie do debugowania aplikacji, gdy śledzona metoda może zostać wywołana w więcej niż jednym oszustwie. Stanowi to lepszą alternatywę niż dodawanie kodu śledzenia do wszystkich metod wywołujących daną metodę. Ilekroć w kodzie użytkownika zostanie zgłoszony wyjątek, środowisko uruchomieniowe języka wspólnego (CLR) odłączy stos wywołań i wyszuka blok przechwytujący, aby określić konkretny typ wyjątku. Jeśli nie ma odpowiedniej procedury obsługi, CLR zakończy działanie aplikacji. Dlatego stos wywołań służy do wskazania wskaźnikowi wykonania, gdzie należy przejść dalej.

Wprowadzenie do Microsoft Azure i Microsoft Cloud | W tym przewodniku dowiesz się, na czym polega przetwarzanie w chmurze i jak Microsoft Azure może pomóc w migracji i prowadzeniu firmy z chmury.

Techopedia wyjaśnia stos połączeń

Stos wywołań jest zorganizowany w postaci „stosu”, struktury danych w pamięci do przechowywania elementów w trybie „kto pierwszy, ten wyszedł”, dzięki czemu osoba wywołująca podprogram popycha adres zwrotny na stos i wywoływany podprogram po zakończeniu, usuwa adres zwrotny ze stosu wywołań, aby przekazać kontrolę na ten adres.


W języku C # każda aplikacja zaczyna się od metody „głównej”, która z kolei wywołuje inne metody. Przy każdym wywołaniu metody metoda jest dodawana na górze stosu i usuwana ze stosu po powrocie do wywołującego. Ponadto zakres zmiennej zadeklarowanej w bloku jest określany od momentu wypchnięcia jego wartości na stos (jako część stosu wywołań), dopóki wykonanie nie opuści bloku, gdy zmienna i stos wywołań zostaną usunięte ze stosu. Tak więc stos utrzymuje zarówno zmienne lokalne (typy wartości), jak i stos wywołań (ramki stosu), których rozmiar wskazuje na złożoność programu.

Ta definicja została napisana w con C #