O que você está procurando?
Hero background image

Como depurar seu código com o Microsoft Visual Studio 2022

Esta página da Web foi automaticamente traduzida para sua conveniência. Não podemos garantir a precisão ou a confiabilidade do conteúdo traduzido. Se tiver dúvidas sobre a precisão do conteúdo traduzido, consulte a versão oficial em inglês da página da Web.

Unity suporta uma variedade de editores de código, incluindo JetBrains Rider, Atom e Microsoft Visual Studio Code e Visual Studio. O Visual Studio é um pacote embutido que é instalado por padrão com o Editor do Unity.

Este artigo fornece dicas para usar a edição de 2022 do depurador do Microsoft Visual Studio, que permite corrigir bugs em seu código de forma eficiente. Se você gostaria de aprender mais sobre dicas gerais de produtividade no Visual Studio, confira nosso post no blog “10 maneiras de acelerar seus fluxos de trabalho no Visual Studio.”

VisualStudio

Instalando as ferramentas de depuração do Visual Studio 2022

O Visual Studio 2022 tem suporte embutido para Unity, permitindo que você escreva e edite scripts facilmente, acesse recursos específicos do Unity e depure seu código de jogo sem sair do IDE. Ele fornece recursos como conclusão de código IntelliSense, realce de sintaxe e trechos de código, que ajudam você a escrever código mais rápido e de forma mais eficiente. Além disso, você obtém ferramentas de depuração, incluindo a capacidade de definir pontos de interrupção, percorrer o código, inspecionar variáveis e avaliar expressões em tempo de execução.

O Visual Studio está disponível em várias versões, incluindo uma versão comunitária gratuita.

Este artigo é baseado na edição de 2022 do Visual Studio. A versão de 2019 tem os mesmos recursos, mas as capturas de tela diferem um pouco. Por padrão, uma nova instalação do Unity instalará a versão comunitária do Visual Studio, juntamente com uma extensão chamada Desenvolvimento de Jogos com Unity que integra o Visual Studio com o Unity. Se você não optar por instalar o Visual Studio, pode obter uma cópia aqui. Detalhes sobre como configurar o Visual Studio para trabalhar com o Unity estão disponíveis aqui.

Depois de instalar o Visual Studio no Editor do Unity, abra Unity > Preferências > Ferramentas Externas e selecione o Visual Studio como o Editor de Script Externo.

Como adicionar o depurador ao Unity

Anexando o depurador do Visual Studio ao Unity

Para habilitar a depuração em tempo real do código do seu projeto enquanto ele está sendo executado no Editor, o depurador do Visual Studio precisa se conectar ao Editor. Isso permite que o depurador acesse e interaja com o estado de execução do seu jogo. Vamos passar pelos passos para conectá-lo:

Abra o projeto Unity que você deseja depurar.

No Unity, vá para Editar > Preferências (Windows) ou Unity > Preferências (macOS) e certifique-se de que Visual Studio esteja definido como o editor de script externo preferido. Se não estiver, selecione-o no menu suspenso.

Abra o script desejado no Visual Studio clicando duas vezes no arquivo de script na visualização do Projeto ou através da opção de menu Assets > Abrir Projeto C#.

No Visual Studio, vá para Depurar > Anexar Depurador do Unity ou clique no botão Anexar ao Unity na barra de ferramentas. Uma janela será aberta com uma lista de instâncias do Unity disponíveis.

Selecione a instância do Unity que está executando seu projeto (geralmente exibida como “Editor do Unity (nome do seu projeto),” e clique em Anexar.

O Visual Studio agora está conectado ao Unity, e você pode começar a definir pontos de interrupção e depurar seu código. Quando o jogo está sendo executado no Editor, o depurador do Visual Studio pausará a execução nos pontos de interrupção, permitindo que você examine o estado do jogo e depure seu código, como mostrado na próxima seção.

Se esta for sua primeira sessão de depuração, você verá uma janela apresentando a opção de habilitar a depuração para a sessão atual ou para todas as sessões. É recomendável escolher a primeira, “Habilitar depuração para esta sessão.”

VisualStudio

Usando pontos de interrupção

Um ponto de interrupção é um marcador em uma linha específica de código. Quando o depurador encontra um ponto de interrupção, ele para a execução do programa, permitindo que você inspecione o estado atual das variáveis, objetos e a pilha de chamadas. Você pode então percorrer o código linha por linha, observando como o estado muda à medida que o programa é executado.

Para definir um ponto de interrupção no Visual Studio, abra o script e clique na margem esquerda do editor de código ao lado da linha de código onde você deseja pausar a execução. Ou, coloque o cursor na linha e pressione F9. Um ponto vermelho aparecerá, indicando que um ponto de interrupção foi definido, como mostrado na imagem acima.

Agora vá para o Editor do Unity e jogue o jogo. Quando a execução do programa atingir a linha com o ponto de interrupção, o Visual Studio se tornará o aplicativo ativo em primeiro plano com a execução do programa pausada na linha do ponto de interrupção. Neste ponto, você pode usar as ferramentas do Visual Studio para inspecionar variáveis.

A opção mais simples é passar o mouse sobre um objeto, propriedade ou variável simples. O Visual Studio adicionará um painel sobreposto (imagem inferior na colagem acima), permitindo que você visualize as sobrecargas de uma função, as propriedades de um objeto e os valores de uma propriedade ou variável.

Se o sobreposto tiver uma seta apontando para a direita, clicar nela expandirá o painel para oferecer mais informações sobre os valores internos das propriedades do objeto.

Essa capacidade de examinar valores em um programa em execução é incrivelmente útil.

Uma vez que o Visual Studio esteja conectado ao Unity, uma nova barra de ferramentas é adicionada à direita de Debug > Attach to Unity. Os quatro botões nesta barra de ferramentas fazem o seguinte, da esquerda para a direita:

  • Continuar/Pausar Execução: Se o programa estiver atualmente em execução, um ícone de pausa será exibido que você pode clicar para pausar a execução. Com o programa pausado, um ícone de seta para a direita aparece, indicando que pressionar irá retomar a execução do programa.
  • Passar por cima: Pressionar este botão executará a linha de código destacada e pausará novamente na próxima linha.
  • Entrar: Se a linha de código ativa incluir uma função onde o código-fonte faz parte do projeto, então este botão permite que o desenvolvedor entre e percorra a função e seu código.
  • Saia: Isso move a execução do programa para fora da função atual.
VisualStudio

Pontos de interrupção condicionais

Um ponto de interrupção condicional é uma forma avançada de ponto de interrupção que pausa a execução apenas se uma condição especificada for atendida. Isso pode ser útil quando você deseja investigar um cenário específico ou quando um problema ocorre apenas sob certas condições.

Se você clicar com o botão direito no ponto de interrupção na barra lateral ou na janela de ponto de interrupção do painel inferior, o menu de contexto será exibido. Escolha Editar Ponto de Interrupção. A caixa de diálogo mostrada na imagem acima será exibida.

Mais ferramentas de depuração

No Visual Studio, a janela do depurador fornece várias janelas que ajudam você a inspecionar o estado de seu aplicativo enquanto ele está pausado em um ponto de interrupção. Três janelas essenciais para examinar o estado do seu programa são Locais, Monitorar e Pilha de Chamadas. As seções a seguir analisam cada uma delas.

VisualStudio

Locais

A janela Locais exibe as variáveis locais e seus valores no escopo atual do código em execução. Isso inclui variáveis que são declaradas dentro do método ou bloco atual, bem como argumentos do método. A janela Locais permite que você inspecione rapidamente os valores das variáveis no ponto de interrupção atual, o que pode ser útil para identificar valores incorretos ou inesperados que podem estar causando problemas em seu código. Lembre-se, se uma linha começar com uma seta apontando para a direita, ela é expansível, enquanto uma seta apontando para baixo irá encolher a janela expandida.

A janela Monitorar

Assistir

A janela Monitorar permite que você acompanhe variáveis ou expressões específicas que deseja monitorar durante o processo de depuração. Ao contrário da janela Locais, que mostra variáveis no escopo atual, a janela Monitorar permite que você adicione manualmente variáveis ou expressões, independentemente de seu escopo. Isso pode ser útil para rastrear o estado de certas variáveis ao longo da execução do seu programa ou para avaliar expressões com base no estado atual do seu aplicativo.

Digite o nome de uma variável ou objeto em escopo e um painel será adicionado para permitir que você o inspecione. Para adicionar um watch no Visual Studio, clique com o botão direito em uma variável ou expressão no seu código e selecione Add Watch no menu de contexto, ou digite a expressão diretamente na janela Watch.

A janela Call Stack

Pilha de Chamadas

A janela Call Stack exibe a sequência de chamadas de método que levaram ao ponto de interrupção atual, permitindo que você rastreie o caminho de execução do seu programa. Cada entrada na pilha de chamadas representa uma chamada de método, com a chamada mais recente no topo da lista. Ao inspecionar a pilha de chamadas, você pode determinar como seu código chegou ao ponto atual de execução, ajudando a identificar a causa raiz de problemas ou comportamentos inesperados.

Além de mostrar a sequência de chamadas de método, a janela Call Stack permite que você navegue pelos diferentes níveis da pilha. Ao clicar duas vezes em uma entrada na lista, você pode pular para a linha correspondente de código no arquivo fonte e visualizar as variáveis locais e parâmetros para esse método. Isso facilita a compreensão do contexto em que um determinado método foi chamado e a análise do fluxo de dados através da sua aplicação.

Configurações de build

Depurando uma compilação

O depurador do Visual Studio não é útil apenas para o jogo em execução no Unity Editor, mas também para builds. Você precisará garantir que a build inclua os dados usados pelo depurador. Você faz isso através de File > Build Settings, e, na janela que é exibida, escolha Development Build e Script Debugging (veja a imagem acima)

Selecione Debug > Attach Unity Debugger no menu principal para Windows, ou Debug > Attach to Process no menu superior para MacOS.

Escolha a instância chamada Unity Player. Agora todos os breakpoints, locais e watches estão disponíveis na build de desenvolvimento.

Escreva Código Limpo

Mais recursos para criadores avançados de Unity

Você está planejando usar outro editor de código? Leia nosso artigo sobre dicas para Microsoft Visual Studio Code.

Unity fornece uma série de guias avançadas para ajudar desenvolvedores profissionais a otimizar seu código de jogo. Crie um guia de estilo C#: Escreva um código mais limpo que escale compila conselhos de especialistas da indústria sobre como criar um guia de estilo de código para ajudar sua equipe a desenvolver uma base de código limpa, legível e escalável.

Outro guia popular entre nossos usuários é 70+ dicas para aumentar a produtividade com Unity. Está repleto de dicas que economizam tempo para melhorar seu fluxo de trabalho agregado do dia a dia com Unity 2020 LTS, incluindo dicas que até mesmo desenvolvedores experientes podem ter perdido.

Encontre todos os e-books e artigos avançados da Unity no hub de melhores práticas da Unity.