Pilha de chamadas

Autor: Lewis Jackson
Data De Criação: 8 Poderia 2021
Data De Atualização: 25 Junho 2024
Anonim
C - Aula 23 - Pilha de Chamadas
Vídeo: C - Aula 23 - Pilha de Chamadas

Contente

Definição - O que significa Call Stack?

Uma pilha de chamadas, em C #, é a lista de nomes de métodos chamados em tempo de execução, desde o início de um programa até a execução da instrução atual.


Uma pilha de chamadas destina-se principalmente a acompanhar o ponto em que cada sub-rotina ativa deve retornar o controle ao concluir a execução. A pilha de chamadas atua como uma ferramenta para depurar um aplicativo quando o método a ser rastreado pode ser chamado em mais de um golpe. Isso forma uma alternativa melhor do que adicionar código de rastreamento a todos os métodos que chamam o método especificado. Sempre que uma exceção é lançada em qualquer lugar do código do usuário, o Common Language Runtime (CLR) desenrola a pilha de chamadas e procura o bloco catch para determinar o tipo de exceção específico. Se não houver um manipulador apropriado, o CLR encerrará o aplicativo. A pilha de chamadas, portanto, é usada para informar ao ponteiro de execução para onde ir.

Uma introdução ao Microsoft Azure e Microsoft Cloud | Neste guia, você aprenderá sobre o que é a computação em nuvem e como o Microsoft Azure pode ajudá-lo a migrar e administrar seus negócios a partir da nuvem.

Techopedia explica Call Stack

A pilha de chamadas é organizada como "pilha", uma estrutura de dados na memória para armazenar itens da maneira "último a entrar, primeiro a sair", para que o responsável pela chamada da sub-rotina empurre o endereço de retorno na pilha e a chamada "sub-rotina", após concluir, retira o endereço de retorno da pilha de chamadas para transferir o controle para esse endereço.


No C #, qualquer aplicativo começa com um método "principal", que por sua vez chama outros métodos. Em todas as chamadas para um método, o método é adicionado à parte superior da pilha e é removido da pilha ao retornar ao chamador. Além disso, o escopo de uma variável declarada em um bloco é determinado a partir do momento em que seu valor é enviado para a pilha (como parte da pilha de chamadas) até a execução sair do bloco quando a variável e a pilha de chamadas são removidas da pilha. Portanto, a pilha mantém as variáveis ​​locais (tipos de valor) e a pilha de chamadas (quadros da pilha), cujo tamanho indica a complexidade de um programa.

Essa definição foi escrita no con do C #