Compartilhar via


Criar um mapa visual da pilha de chamadas durante a depuração (C#, Visual Basic, C++, JavaScript)

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.

Para obter detalhes de comandos e ações que você pode usar com mapas de código, consulte Procurar e reorganizar mapas de código.

Importante

Você pode criar mapas de código apenas no Visual Studio Enterprise Edition.

Aqui está uma rápida olhada em um mapa de código:

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

Mapear a pilha de chamadas

  1. Em um projeto do Visual Studio Enterprise C#, Visual Basic, C++ou JavaScript, inicie a depuração selecionando Depurar>Iniciar Depuração ou pressionando F5.

  2. Depois que seu aplicativo entrar no modo de interrupção ou você entrar em uma função, selecione Depurar>Mapa de Código ou pressione Ctrl+Shift+`.

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

    Consulte a pilha de chamadas no mapa de código

O mapa de código é atualizado automaticamente à medida que você avança na depuração. Alterar itens de mapa ou layout não afeta o código de forma alguma. Fique à vontade para renomear, mover ou remover qualquer coisa no mapa.

Para obter mais informações sobre um item, passe o mouse sobre ele e veja a descrição do item. Você também pode selecionar Legenda na barra de ferramentas para saber o que significa cada ícone.

Legenda do mapa de código

Observação

A mensagem O diagrama pode ser baseado em uma versão mais antiga do código na parte superior do mapa de código significa que 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.

Mapear código externo

Por padrão, apenas seu próprio código aparece no mapa. Para ver o código externo no mapa:

  • Clique com o botão direito do mouse na janela Pilha de Chamadas e selecione Mostrar Código Externo:

    Exibir código externo usando a janela de pilha de chamadas

  • Ou desmarque a caixa de seleção Habilitar Apenas Meu Código no Visual Studio:

    Essa opção está disponível no painel Ferramentas (ou Depurar) >Opções sob Todas as Configurações>Depuração>Geral:

    Captura de tela que mostra como selecionar a opção Habilitar Apenas Meu Código no Visual Studio.

    Essa opção está disponível na caixa de diálogo Opções de Ferramentas (ou Depuração) > na seçãoGeralde Depuração>:

    Mostrar código externo usando a DebuggerMap_DebugOptions

Controlar o layout do mapa

Alterar o layout do mapa não afeta o código de forma alguma.

Para controlar o layout do mapa, selecione o menu Layout na barra de ferramentas do mapa.

No menu Layout , você pode:

  • Altere o layout padrão.
  • Para interromper a reorganização automática do mapa, desselecionando Layout Automático ao Depurar.
  • Reorganize o mapa o mínimo possível ao adicionar itens, desmarcando o Layout Incremental.

Fazer anotações sobre o código

Você pode adicionar comentários para acompanhar o que está acontecendo no código.

Para adicionar um comentário, clique com o botão direito do mouse no mapa de código e selecione Editar>Novo Comentário e digite o comentário.

Para adicionar uma nova linha em um comentário, pressione Shift+Enter.

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

Atualizar o mapa com a próxima pilha de chamadas

À medida que você executa seu aplicativo para o próximo ponto de interrupção ou entra em uma função, o mapa adiciona novas pilhas de chamadas automaticamente.

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

Para impedir que o mapa adicione novas pilhas de chamadas automaticamente, selecione Mostrar pilha de chamadas no mapa de código automaticamente na barra de ferramentas do mapa de código. O mapa continua a realçar pilhas de chamadas existentes. Para adicionar manualmente a pilha de chamadas atual ao mapa, pressione Ctrl+Shift+`.

Adicionar código relacionado ao mapa

Agora que você tem um mapa, em C# ou Visual Basic, você pode adicionar itens como campos, propriedades e outros métodos, para acompanhar o que está acontecendo no código.

Para ir para a definição de um método no código, clique duas vezes no método no mapa ou selecione-o e pressione F12 ou clique com o botão direito do mouse nele e selecione Ir para Definição.

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

Para adicionar itens que você deseja acompanhar ao mapa, clique com o botão direito do mouse em um método e selecione os itens que você deseja rastrear. Os itens adicionados mais recentemente aparecem em verde.

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

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. Você pode desativar e ativar esse recurso selecionando o botão Incluir Pais na barra de ferramentas do mapa de código ou pressionando Ctrl enquanto adiciona itens.

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

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 utilizam um campo no mapa de código da 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 aplicativo 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 DebuggerMap_AddPaintObjectCallStack

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 aplicativo, o mapa adicionará a nova chamada de undo para Repaint:

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

Compartilhar o mapa com outras pessoas

Você pode exportar um mapa, enviá-lo para outras pessoas com o Microsoft Outlook, salvá-lo em sua solução e fazer check-lo no controle de versão.

Para compartilhar ou salvar o mapa, use Compartilhar na barra de ferramentas do mapa de código.

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