Partilhar via


Ver hierarquia de chamadas

Ao exibir a hierarquia de chamadas para seu código, você pode navegar todas as chamadas para, e às vezes de, um método, propriedade ou construtor selecionado. Isso permite que você entenda melhor como o código flui e avalie os efeitos das alterações no código. Você pode examinar vários níveis de código para exibir cadeias complexas de chamadas de método e pontos de entrada adicionais para o código. Isso permite que você explore todos os caminhos de execução possíveis.

No Visual Studio, você pode exibir uma hierarquia de chamada em tempo de design. Isso significa que você não precisa definir um ponto de interrupção e iniciar o depurador para exibir a pilha de chamadas em tempo de execução.

Usar a janela Hierarquia de chamadas

Para exibir a janela Hierarquia de Chamadas , clique com o botão direito do mouse no editor de códigos no nome de um método, propriedade ou chamada de construtor e selecione Exibir Hierarquia de Chamadas.

O nome do membro aparece em um painel de exibição de árvore na janela Hierarquia de chamadas . Se você expandir o nó membro, Chamadas paranome do membro e, para C++, Chamadas donome do membro, os subnós aparecerão.

Para código C++, você pode ver chamadas explícitas de e para um membro:

Hierarquia de chamadas para código C++ no Visual Studio

Observação

No código C++, as funções de membro podem ser chamadas implicitamente, como um construtor ou um método de conversão de tipo; Estes apelos implícitos não estão necessariamente incluídos na lista.

Para código C# e Visual Basic, você pode ver chamadas para um membro, mas não chamadas de:

Hierarquia de chamadas para código C# no Visual Studio

  • Se você expandir o nó Chamadas para , todos os membros que chamam o membro selecionado serão exibidos.

  • Para C++, se você expandir o nó Chamadas de , todos os membros que são (explicitamente) chamados pelo membro selecionado são exibidos.

Em seguida, você pode expandir cada membro chamador para ver suas chamadas para e, para C++, chamadas de nós. Isso permite que você navegue para a pilha de chamadores, conforme mostrado na imagem a seguir:

Janela Hierarquia de chamadas com vários níveis expandidos

Para membros que são definidos como virtuais ou abstratos, um nó de nome do método Overrides é exibido. Para membros da interface, um nó de nome do método Implements é exibido. Esses nós expansíveis aparecem no mesmo nível dos nós Chamadas para e Chamadas de .

A caixa Escopo de Pesquisa na barra de ferramentas contém opções para Minha Solução, Projeto Atual e Documento Atual.

Quando você seleciona um membro filho no painel de exibição da árvore Hierarquia de Chamadas :

  • O painel de detalhes da Hierarquia de Chamadas exibe todas as linhas de código nas quais esse membro filho é chamado a partir do membro pai.

  • A janela Definição de código , se aberta, exibe o código para o membro selecionado (somente C++). Para obter mais informações sobre essa janela, consulte Exibir a estrutura do código.

Observação

O recurso Hierarquia de Chamadas não localiza referências de grupo de métodos, o que inclui locais onde um método é adicionado como um manipulador de eventos ou é atribuído a um delegado. Para localizar todas as referências a um método, você pode usar o comando Localizar todas as referências .

Itens de menu de atalho

A tabela a seguir descreve várias opções de menu de atalho que estão disponíveis quando você clica com o botão direito do mouse em um nó no painel de exibição em árvore.

Item do menu de contexto Description
Adicionar como nova raiz Adiciona o nó selecionado ao painel de exibição de árvore como um novo nó raiz. Isso permite que você concentre sua atenção em uma subárvore específica.
Remover raiz Remove o nó raiz selecionado do painel de exibição em árvore. Esta opção está disponível apenas a partir de um nó raiz.

Você também pode usar o botão da barra de ferramentas Remover raiz para remover o nó raiz selecionado.
Ir para a definição Executa o comando Ir para definição no nó selecionado. Isso navega até a definição original para uma chamada de membro ou definição de variável.

Para executar o comando Ir para definição, você também pode clicar duas vezes no nó selecionado ou pressionar F12 no nó selecionado.
Encontrar todas as referências Executa o comando Localizar Todas as Referências no nó selecionado. Isso localiza todas as linhas de código em seu projeto que fazem referência a uma classe ou membro.

Você também pode usar SHIFT+F12 para executar o comando Localizar todas as referências no nó selecionado.
Copy Copia o conteúdo do nó selecionado (mas não seus subnós).
Atualizar Recolhe o nó selecionado para que a reexpansão exiba informações atuais.