Entender, navegar e depurar código visualmente com mapas de códigos

Você pode mapear relacionamentos no código com Visual Studio final.Quando você criar mapas de código, aparecem ao lado do editor de códigos.Isso permite que você focar em sua tarefa como você pode ver seu local no código quando você trabalhar.

Mapa de código - relações do mapa no código

Codificar relações de apresentação de mapas no seu código e é exibida ao lado do editor de códigos. Uma seta verde mostra a posição do cursor no código. Você pode fazer anotações em um mapa, apenas como em papel.

Mapas de código ajudam você a evitar obter perdido em grandes bases de código, no código irrelevante, ou em código herdado.Por exemplo, quando você está depurando, talvez seja necessário examinar o código entre vários arquivos e projetos.Codificar a ajuda que os mapas você navegar em torno dessas partes do código e consulte relações entre eles.Você não precisa memorizar todo este código, manter controle de arquivos, ou desenhar um diagrama de papel separado.Se você precisa interromper seu trabalho, os mapeamentos de código ajudam a atualizar sua memória sobre o código que você está trabalhando.

Mapas de código do relógio em ação: Entendendo com código complexo mapa de código canal (9)

Requisitos

  • Visual Studio 2012.1 e uma destas edições:

    • O Visual Studio 2012 final para criar mapas de código do editor de códigos ou do solution Explorer.

      ObservaçãoObservação

      Antes que você compartilhar com outros mapeamentos que usam superior ou professional, certifique-se de que todos os itens no mapa são visíveis, como itens ocultos, grupos expandidas, e links do grupo cruzado.

    • Visual Studio 2012 Premium ou Visual Studio 2012 Professional para abrir mapas de código, fazer edições limitadas e navegar em código.

  • Uma solução com código do Visual basic .NET ou do .NET Visual Basic.

Entender o problema

Suponha que há um erro em um programa de desenho que você está trabalhando.Para reproduzir o erro, abra a solução no Visual Studio final e pressione F5 para iniciar a depuração.

Quando você desenhar uma linha e escolha Desfazer my traço último, nada acontece até que você desenhe a próxima linha.

Mapa de código - erro de reprodução

Assim você começa a investigação procurando pelo método de Undo .Você encontra na classe de PaintCanvas .

Mapa de código - código de localização

Início que mapeia o código

Agora você inicia mapear o método de undo e suas relações.O editor de códigos, adicione o método de undo e os campos que faz referência a um novo mapeamento de código.Quando você cria um novo mapeamento, pode dedicar algum tempo para indexar o código.Isso ajuda uma operações posteriores a executada mais rapidamente.

Mapa de código - método Show e campos relacionados

DicaDica

O verde realçando mostra os últimos itens que foram adicionados ao mapa.A seta verde mostra a posição do cursor no código.As setas relações entre itens representam diferentes.Você pode obter mais informações sobre itens no mapa examinando seus tooltips.

Mapa de código - Mostrar dicas de ferramentas

Para ver a definição de código para cada campo, clique duas vezes no campo no mapa, ou escolha o campo e pressione F12.A seta verde move entre itens no mapa.O cursor no editor de códigos também move automaticamente.

Mapa de código - examinar a definição de campo

Mapa de código - examinar a definição de campo

DicaDica

Você também pode mover a seta verde no mapa movendo o cursor no editor de códigos.

Entenda relações entre partes de código

Agora você deseja saber qual o outro código interage com os campos de history e de paintObjects .Você pode adicionar os métodos que referenciam esses campos no mapa.Você pode fazer isso de mapa ou código.

Mapa de código - localizar todas as referências

Alterar o layout para reorganizar o fluxo de relacionamentos e para facilitar o mapa ler.Você também pode mover itens em torno do mapa arrastando-os.

Mapa de código - alterar layout

DicaDica

Por padrão, Layout incremental estiver ativado.Isso reordena o mapa o menos possível quando você adicionar novos itens.Para reordenar o mapa inteiro cada vez que você adicionar novos itens, desative Layout incremental.

Mapa de código - alterar layout

Vamos examinar esses métodos.No mapa, clique duas vezes no método de PaintCanvas , ou escolha esse método e pressione F12.Você sabe que este método cria history e paintObjects como listas vazios.

Mapa de código - examinar a definição do método

Repita agora as mesmas etapas para examinar a definição de método clear .Você sabe que clear executa algumas tarefas com paintObjects e history.Chama o método de Repaint .

Mapa de código - examinar a definição do método

Examine agora a definição de método addPaintObject .Também executa algumas tarefas com history e paintObjects.Também chama Repaint.

Mapa de código - examinar a definição do método

Localizar o problema examinando o mapa

Aparece que todos os métodos que modificam history e a chamada Repaintde paintObjects .No entanto o método de undo não chama Repaint, mesmo que undo modifique os mesmos campos.Assim você acha que você pode corrigir este problema chamando Repaint de undo.

Mapa de código - localizar ausente chamada de método

Se você não tiver um mapa para mostrar você essa chamada ausente, pode ter sido mais difícil localizar esse problema, especialmente com código mais complexo.

Compartilhar seus descoberta e próximas etapas

Antes de você ou alguma outra pessoa corrigir este erro, você pode fazer anotações no mapa sobre o problema e como corrigi-lo.

Itens de mapa de código - comentário e sinalizador para acompanhamento

Por exemplo, você pode adicionar comentários a mapa e embandeirar itens usando cores.

Mapa de código - itens sinalizados e comentados

Se você tiver o Microsoft Outlook instalado, você pode enviar por correio eletrônico o mapa para outro.Você também pode exportar o mapa como uma imagem ou outra formato.

Código map - compartilhamento, exportação, email

Corrigir o problema e mostrar o que você fez

Para corrigir este erro, você adiciona a chamada para Repaint a undo.

Mapa de código - adicionar a chamada de método ausente

Para confirmar a correção, você reiniciar suas sessão e tentativa de depuração para reproduzir o erro.Agora escolha Desfazer my traço último trabalhar-lo como você espera e confirma- fez a correção correta.

Mapa de código - confirmar a correção de código

Você pode atualizar o mapa para mostrar a correção você fez.

Mapa de código - mapa de atualização com falta de chamada de método

O mapa agora mostra um link entre desfazer e Repinte.

Mapa de código - mapa atualizado com chamada de método

ObservaçãoObservação

Quando você atualiza o mapa, você pode ver uma mensagem que dissesse que o índice de código usado para criar seu mapa foi atualizado.Isso significa que alguém alterou o código, que faz com que seu mapa não corresponde ao código atual.Isso não para atualizar o do mapa, mas talvez você precise recriar o mapa para confirmar que corresponde ao código.

Agora você terminou com a investigação.Você encontrou com êxito e corrigir o problema mapeando o código.Você também tem um mapa que ajuda você navegar em torno do código, recordem o que você instruído, e mostra as etapas você recebe para corrigir o problema.

Consulte também

Conceitos

Visualizando e entendendo o código