Compartilhar via


Mapear métodos na pilha de chamadas durante a depuração no Visual Studio

Crie um mapa de código para rastrear a pilha de chamadas visualmente durante a depuração. Você pode fazer anotações no mapa para acompanhar o que o código está fazendo para que você possa se concentrar em encontrar bugs.

Depurando pilhas de chamadas nos mapas de código

Você precisará de:

Mapear a pilha de chamadas

  1. Inicie a depuração. (Teclado: F5)

  2. Depois que o aplicativo entrar no modo de interrupção ou você entrar em uma função, escolha Mapa do Código. (Teclado: Ctrl + Shift + `)

    Escolha Mapa de Código para começar a mapear a pilha de chamadas

    A pilha de chamadas atual aparece em laranja em um novo mapa de código:

    Ver pilha de chamadas no mapa de código

    O mapa será atualizado automaticamente enquanto você faz debugging. Veja Atualizar o mapa com a próxima pilha de chamadas.

Fazer anotações sobre o código

Adicione comentários para acompanhar o que está acontecendo no código. Para adicionar uma nova linha em um comentário, pressione Shift + Return.

Adicionar comentário à pilha de chamadas no mapa de código

Atualizar o mapa com a próxima pilha de chamadas

Continue a execução do seu aplicativo até o próximo ponto de interrupção ou avance para uma função. O mapa adiciona uma nova pilha de chamadas.

Atualizar o mapa de código com a próxima pilha de chamadas

Adicionar código relacionado ao mapa

Agora você tem um mapa- o que vem a seguir? Se você estiver trabalhando com C# ou Visual Basic, adicione itens, como campos, propriedades e outros métodos, para acompanhar o que está acontecendo no código.

Clique duas vezes em um método para ver sua definição de código ou use o menu de atalho para o método. (Teclado: selecione o método no mapa e pressione F12)

Ir para a definição de código para um método no mapa de código

Adicione os itens que você deseja rastrear no mapa.

Mostrar campos em um método no mapa de código de pilha de chamadas

Observação

Por padrão, adicionar itens ao mapa também adiciona os nós de grupo pai, como a classe, o namespace e o assembly. Embora isso seja útil, você pode manter o mapa simples desativando esse recurso usando o botão Incluir Pais na barra de ferramentas do mapa ou pressionando CTRL ao adicionar itens.

Campos relacionados a um método no mapa de código da pilha de chamadas

Aqui você pode ver facilmente quais métodos usam os mesmos campos. Os itens adicionados mais recentemente aparecem em verde.

Continue criando o mapa para ver mais código.

Veja os métodos que usam um campo: mapa de código da pilha de chamadas

Métodos que usam um campo no mapa de código de pilha de chamadas

Localizar bugs usando o mapa

Visualizar seu código pode ajudá-lo a encontrar bugs mais rapidamente. Por exemplo, suponha que você esteja investigando um bug em um programa de desenho. Quando você desenha uma linha e tenta desfazer, nada acontece até você desenhar outra linha.

Portanto, você define pontos de interrupção nos métodos clear, undo e Repaint, inicia a depuração e cria um mapa como este:

Adicionar outra pilha de chamadas ao mapa de código

Observe que todos os gestos do usuário no mapa acionam Repaint, exceto por undo. Isso pode explicar por que undo não funciona imediatamente.

Depois de corrigir o bug e continuar executando o programa, o mapa adiciona a nova chamada de undo para Repaint.

Adicionar nova chamada de método à pilha de chamadas no mapa de código

Perguntas e Respostas

  • Nem todas as chamadas aparecem no mapa. Por que?

    Por padrão, apenas seu próprio código aparece no mapa. Para ver o código externo, ative-o na janela Pilha de Chamadas :

    Exibir código externo usando a janela Pilha de Chamadas

    ou desative Habilitar Apenas Meu Código nas opções de depuração do Visual Studio:

    Mostrar código externo usando a caixa de diálogo Opções

  • Alterar o mapa afeta o código?

    Alterar o mapa não afeta o código de forma alguma. Fique à vontade para renomear, mover ou remover qualquer coisa no mapa.

  • O que essa mensagem significa: "O diagrama pode ser baseado em uma versão mais antiga do código"?

    O código pode ter sido alterado após a última atualização do mapa. Por exemplo, uma chamada no mapa pode não existir mais no código. Feche a mensagem e tente recompilar a solução antes de atualizar o mapa novamente.

  • Como posso controlar o layout do mapa?

    Abra o menu Layout na barra de ferramentas do mapa:

    • Altere o layout padrão.

    • Para parar de reorganizar o mapa automaticamente, desative o Layout Automaticamente ao depurar.

    • Para reorganizar o mapa o mínimo possível ao adicionar itens, desative o Layout Incremental.

  • Posso compartilhar o mapa com outras pessoas?

    Você pode exportar o mapa, enviá-lo para outras pessoas se você tiver o Microsoft Outlook ou salvá-lo em sua solução para que você possa fazer check-lo no controle do código-fonte.

    Compartilhar mapa de código de pilha de chamadas com outras pessoas

  • Como fazer para impedir que o mapa adicione novas pilhas de chamadas automaticamente?

    Escolha Botão - Mostrar pilha de chamadas no mapa de código automaticamente na barra de ferramentas do mapa. Para adicionar manualmente a pilha de chamadas atual ao mapa, pressione Ctrl + Shift + `.

    O mapa continuará destacando pilhas de chamadas existentes enquanto você estiver depurando.

  • O que significam os ícones de item e as setas?

    Para obter mais informações sobre um item, mova o ponteiro do mouse sobre ele e examine a dica de ferramenta do item. Você também pode examinar a Legenda para saber o que significa cada ícone.

    O que os ícones no mapa de código da pilha de chamadas significam?

    Consulte:

  • Mapear a pilha de chamadas

  • Fazer anotações sobre o código

  • Atualizar o mapa com a próxima pilha de chamadas

  • Adicionar código relacionado ao mapa

  • Localizar bugs usando o mapa