Compartilhar via


Exibir hierarquia de chamadas

Ao exibir a hierarquia de chamadas para seu código, você pode navegar por todas as chamadas e, às vezes, em 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 chamadas 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ódigo 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ó de membro, o nome do membro Chamadas para e para C++, chamadas donome do membro, os subnodes serão exibidos.

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

Chamar hierarquia 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; essas chamadas implícitas não são necessariamente incluídas na lista.

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

Chamar hierarquia 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++, f você expande 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 de chamada para ver suas Chamadas para e para C++, Chamadas de nós. Isso permite que você navegue até a pilha de chamadores, conforme mostrado na imagem a seguir:

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

Para membros definidos como virtuais ou abstratos, um nó de nome do método Substitui é exibido. Para membros da interface, um nó de nome do método Implements é exibido. Esses nós expansíveis aparecem no mesmo nível que os nós chamadas echamadas de nós.

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 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 encontra referências de grupo de métodos, que inclui locais em que 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 disponíveis quando você clica com o botão direito do mouse em um nó no painel de exibição de árvore.

Item de Menu de Contexto Descrição
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 de árvore. Essa opção só está disponível em um nó raiz.

Você também pode usar o botão Remover Barra de ferramentas Raiz para remover o nó raiz selecionado.
Ir para 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.
Localizar 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.
Copiar Copia o conteúdo do nó selecionado (mas não seus subnodos).
Atualizar Recolhe o nó selecionado para que a nova expansão exiba as informações atuais.