Partilhar via


Mapear métodos na pilha de chamadas ao depurar no Visual Studio

Crie um mapa de códigos para acompanhar visualmente a pilha de chamadas durante a depuração. Você pode fazer anotações no mapa para acompanhar o que o código está fazendo, de modo a se concentrar na localização de bugs.

Depuração com pilhas de chamadas em mapas de código

Itens necessários:

See: Video: Debug visually with Code Map debugger integration (Channel 9) • Map the call stack • Make notes about the code • Update the map with the next call stack • Add related code to the map • Find bugs using the map • Q & A

Mapear a pilha de chamadas

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

  2. Após seu aplicativo entrar no modo de interrupção ou você entrar em uma função, escolha Mapa de Códigos. (Teclado: Ctrl + Shift + `)

    Escolha o mapa de código para iniciar a pilha de chamadas de mapeamento

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

    Consulte a pilha de chamadas no mapa de códigos

    O mapa será atualizado automaticamente enquanto você continua a depuração. Consulte 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 a pilha de chamadas no mapa de códigos

Atualizar o mapa com a próxima pilha de chamadas

Execute o aplicativo até o próximo ponto de interrupção ou siga uma função. O mapa adiciona uma nova pilha de chamadas.

Atualizar o mapa de código com a seguinte pilha de chamadas

Adicionar código relacionado ao mapa

Agora você tem um mapa. Qual é a próxima etapa? Se você estiver trabalhando com o Visual C# .NET ou com o Visual Basic .NET, 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 a respectiva definição de código. (Teclado: Selecione o método no mapa e pressione F12)

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

Adicione os itens que você deseja rastrear no mapa.

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

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

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

Continue criando o mapa para ver mais código.

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

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

Localizar bugs usando o mapa

Visualizar seu código pode ajudar a localizar bugs com mais rapidez. Por exemplo, suponha que você esteja investigando um bug em um programa de desenho. Quando você desenha uma linha e tenta desfazê-la, nada acontece até que você desenhe outra linha.

Dessa forma, você define pontos de interrupção, inicia a depuração e cria um mapa como este:

Adicionar outra pilha de chamadas ao mapa de código

Você observará que todos os gestos do usuário no mapa chamam Repaint, exceto para undo. Isso pode explicar o motivo de undo não funcionar imediatamente.

Após corrigir o bug e continuar executando o programa, o mapa adicionará a nova chamada de undo para Repaint:

Adicionar nova pilha de chamada de método no mapa de códigos

Perguntas e respostas

  • Nem todas as chamadas aparecem no mapa. Por quê?

    Por padrão, somente seu código aparece no mapa. Para ver o código externo, ative-o na janela Pilha de Chamadas ou desative Habilitar Apenas Meu Código nas opções de depuração do Visual Studio.

  • Alterar o mapa afeta o código?

    Alterar o mapeamento não afeta o código de maneira alguma. Sinta-se à vontade para renomear, mover ou remover qualquer item no mapa.

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

    O código pode ter sido alterado depois que você alterou o mapa pela última vez. Por exemplo, uma chamada no mapa pode não existir mais no código. Feche a mensagem e tente recriar a solução antes de atualizar o mapa outra vez.

  • Como 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 Layout Automático Durante Depuração.

    • Para reorganizar o mapa o mínimo possível quando você adiciona itens, desative Layout Incremental.

  • Posso compartilhar o mapa com outras pessoas?

    É possível exportar o mapa, enviá-lo a outras pessoas se tiver o Microsoft Outlook ou salvá-lo em sua solução para que você possa verificá-lo no Controle de versão do Team Foundation.

    Mapa de código de pilha de chamada de compartilhamento com outras pessoas

  • Como fazer com que o mapa pare de adicionar novas pilhas de chamadas automaticamente?

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

    O mapa continuará realçando as pilhas de chamadas existentes no mapa enquanto você estiver depurando.

  • Qual é o significado das setas e dos ícones de item?

    Para obter mais informações sobre um item, observe a dica de ferramenta do item. Você também pode analisar a Legenda para saber o que cada ícone significa.

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

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