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.
Itens necessários:
Código que você pode depurar, como Visual C# .NET, Visual Basic .NET, C++ e JavaScript. Para visualizar o código que é compartilhado com vários aplicativos na mesma solução ou código X++ do Microsoft Dynamics AX, verifique se você tem a Atualização 2 para Visual Studio 2013 ou posterior.
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
Inicie a depuração. (Atalho: F5)
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 + `)
A pilha de chamadas atual aparece em laranja em um novo mapeamento de código:
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.
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.
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)
Adicione os itens que você deseja rastrear no mapa.
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.
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:
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:
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.
Como fazer com que o mapa pare de adicionar novas pilhas de chamadas automaticamente?
Escolha 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.
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