Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Visão geral das ferramentas de depuração

Este guia lhe dará uma visão geral das ferramentas de depuração disponíveis no motor.

O Godot vem com um depurador (debugger) potente e profilers para rastrear bugs, inspecionar seu jogo em tempo de execução, monitorar métricas essenciais e medir o desempenho. Ele também oferece opções para visualizar caixas de colisão (collision boxes) e polígonos de navegação no jogo em execução.

Finalmente, você tem opções para depurar o jogo rodando em um dispositivo remoto e para recarregar as alterações em suas cenas ou em seu código enquanto o jogo está rodando.

Painel de saída

O painel de saída (output panel) permite que você veja o texto impresso pelo projeto, mas também pelo editor (por exemplo, a partir de scripts @tool). Você pode encontrar informações sobre isso em Painel de saída.

Painel do Depurador

Muitas das ferramentas de depuração do Godot fazem parte do painel Debugger, sobre o qual você pode encontrar informações em Painel do depurador.

Opções do menu de depuração

Existem algumas opções comuns de depuração que você pode ativar ou desativar ao rodar o seu jogo no editor, as quais podem ajudar na depuração do seu jogo.

Você pode encontrar essas opções no menu Debug do editor.

../../../_images/overview_debug.webp

Aqui estão as descrições das opções:

Distribuir com Depuragem Remota

Quando esta opção está ativada, o uso do deploy com um clique fará com que o executável tente se conectar ao IP deste computador para que o projeto em execução possa ser depurado. Esta opção destina-se a ser usada para depuração remota (normalmente com um dispositivo móvel). Você não precisa ativá-la para usar o depurador do GDScript localmente.

Implantação Leve com Sistema de Arquivos via Rede

Esta opção acelera os testes para jogos com grande volume de dados em dispositivos remotos.

Quando a opção Small Deploy with Network Filesystem está ativada, em vez de exportar o jogo completo, a implantação do jogo constrói um executável mínimo. O editor então fornece os arquivos do projeto através da rede.

Além disso, no Android, o jogo é implantado usando o cabo USB para acelerar a implantação.

Formas de Colisão Visíveis

Quando esta opção está ativada, as formas de colisão (collision shapes) e os nós de raycast (para 2D e 3D) ficarão visíveis no projeto em execução.

Caminhos visíveis

Quando esta opção está ativada, os recursos de curva usados pelos nós de caminho (path nodes) ficarão visíveis no projeto em execução.

Navegação Visível

Quando esta opção está ativada, as malhas de navegação (navigation meshes) e os polígonos ficarão visíveis no projeto em execução.

Desvio visível

Quando esta opção está ativada, as formas dos objetos de evasão (avoidance objects), raios e velocidades ficarão visíveis no projeto em execução.

Redesenhos do CanvasItem de depuração

Quando esta opção está ativada, as solicitações de redesenho (redraw requests) de objetos 2D ficarão visíveis (como um breve flash) no projeto em execução. Isso é útil para solucionar problemas no modo de baixo uso do processador.

Sincronizar alterações de cena

Quando esta opção está ativada, quaisquer alterações feitas na cena no editor serão replicadas no projeto em execução. Quando usada remotamente em um dispositivo, isso é mais eficiente quando a opção de sistema de arquivos de rede está ativada.

Sincronizar alterações de script

Quando esta opção está ativada, quaisquer alterações feitas no script no editor serão recarregadas no projeto em execução. Quando usada remotamente em um dispositivo, isso é mais eficiente com o sistema de arquivos de rede.

Manter o Servidor de Depuração Aberto

Quando esta opção está ativada, o servidor de depuração do editor permanecerá aberto e escutará novas sessões iniciadas fora do próprio editor.

Customizar Instâncias de Execução...

Isso abre uma caixa de diálogo que permite dizer ao Godot para rodar múltiplas instâncias do jogo de uma só vez e especificar os argumentos de linha de comando para cada instância. Isso é especialmente útil ao construir e depurar jogos multiplayer.

../../../_images/customize_run_instances.webp

Habilitar múltiplas instâncias

Quando esta opção está ativada, o editor executará múltiplas instâncias do projeto de uma só vez quando você clicar em Run Project (Executar Projeto).

Abaixo desta caixa de seleção há um seletor para escolher quantas instâncias executar.

Marcar a caixa e definir isso para apenas 1 é o mesmo que não marcar esta caixa de forma alguma.

Argumentos Principais de Execução

Estes são os argumentos que serão passados para cada instância do projeto quando você executar o projeto (Run Project), a menos que você selecione "Enabled" (Ativado) sob "Override Main Run Args" para uma instância específica.

Observe que esses argumentos são separados por espaços.

Dica

Esses argumentos podem ser acessados em seu script usando get_cmdline_args.

Aviso

Mesmo se você desmarcar "Enable Multiple Instances" (Habilitar Múltiplas Instâncias), esses argumentos serão passados quando você executar o projeto.

Tags de funcionalidade principal

Estas são as tags de recurso (feature tags) que serão passadas para cada instância do projeto quando você executar o projeto, a menos que você selecione "Enabled" sob "Override Main Tags" para uma instância específica.

Substituir Argumentos de Execução Principal (Override Main Run Args)

Quando isso estiver ativado, os argumentos no campo "Main Run Args" não serão passados para esta instância específica do projeto quando você executar o projeto.

Argumentos de inicialização

Estes são os argumentos que serão passados para esta instância específica do projeto quando você executar o projeto. Eles serão combinados com os "Main Run Args", a menos que você selecione "Enabled" sob "Override Main Run Args".

Substituir tags principais

Quando isso estiver ativado, as tags no campo "Main Feature Tags" não serão passadas para esta instância específica do projeto quando você executar o projeto.

Tags de funcionalidade

Estas são as tags de recurso que serão passadas para esta instância específica do projeto quando você executar o projeto. Elas serão combinadas com as "Main Feature Tags", a menos que você selecione "Enabled" sob "Override Main Tags".

Aviso

If you want to pass "User" arguments, that can be accessed with get_cmdline_user_args then you must prefix them with two dashes and a space like -- one two three.

Be aware that these dashes will apply to arguments added later in the "Launch Arguments" on a per instance basis, which can cause some confusion when combining the "Main Run Args" and "Launch Arguments".

If you place -- one two three in the "Main Run Args" and -- four five six in the "Launch Arguments" then the final command line arguments will be one two three -- four five six. This is because the -- is repeated in the "Launch Arguments".

Ferramentas e opções de depuração do editor de script

O editor de script possui seu próprio conjunto de ferramentas de depuração para uso com breakpoints (pontos de interrupção) e duas opções. As ferramentas de breakpoint também podem ser encontradas na aba Debugger (Depurador) do depurador.

Dica

Você pode criar um breakpoint clicando na calha à esquerda do editor de script (à esquerda dos números das linhas). Ao passar o mouse sobre essa calha, você verá um ponto vermelho transparente aparecer, que se transforma em um ponto vermelho opaco depois que o breakpoint é colocado por meio de um clique. Clique no ponto vermelho novamente para remover o breakpoint. Os breakpoints criados dessa forma persistem entre as reinicializações do editor, mesmo que o script não tenha sido salvo ao sair do editor.

Você também pode usar a palavra-chave breakpoint no GDScript para criar um breakpoint que é armazenado no próprio script. Ao contrário dos breakpoints criados ao clicar na calha, esse breakpoint baseado em palavra-chave é persistente em diferentes máquinas ao usar controle de versão.

../../../_images/overview_script_editor.webp

O botão Break (Interromper) causa uma interrupção no script como faria um breakpoint. Continue (Continuar) faz com que o jogo continue após a pausa em um breakpoint. Step Over (Avançar Linha) vai para a próxima linha de código e Step Into (Entrar) entra em uma função se possível. Caso contrário, faz o mesmo que Step Over.

A opção Debug with External Editor (Depurar com Editor Externo) permite depurar seu jogo com um editor externo. Você pode definir um atalho para isso em Editor Settings > Shortcuts > Debugger (Configurações do Editor > Atalhos > Depurador).

Quando o depurador é interrompido em um breakpoint, uma seta de triângulo verde fica visível na calha do editor de script. Essa seta indica a linha de código em que o depurador parou.

Configurações de depuração do projeto

Nas configurações do projeto, há uma categoria Debug (Depurar) com subcategorias que controlam coisas diferentes. Ative as Advanced Settings (Configurações Avançadas) para alterar essas configurações.

Configurações

Estas são algumas configurações gerais, como imprimir o FPS atual no painel de Output (Saída), a quantidade máxima de funções ao realizar profiling (perfilamento) e outras.

Log de arquivos

Essas configurações permitem que você registre a saída do console e as mensagens de erro em arquivos.

GDScript

Essas configurações permitem alternar avisos (warnings) específicos do GDScript, como para variáveis não utilizadas. Você também pode desativar os avisos completamente. Veja Sistema de alertas do GDScript para mais informações.

Linguagem de shader

Essas configurações permitem alternar avisos específicos de shader, como para variáveis não utilizadas. Você também pode desativar os avisos completamente.

Itens de tela (Canvas Items)

Essas configurações são para a depuração de redesenho de canvas items.

Formas

Shapes (Formas) é onde você pode ajustar a cor das formas que aparecem apenas para fins de depuração, como formas de colisão e navegação.

Doca Remote na cena

Ao executar um jogo no editor, duas opções aparecem no topo da doca Scene (Cena): Remote (Remoto) e Local. Ao usar o Remote, você pode inspecionar ou alterar os parâmetros dos nós no projeto em execução.

../../../_images/overview_remote.webp

Nota

Algumas configurações do editor relacionadas à depuração podem ser encontradas dentro das Editor Settings, nas seções Network > Debug (Rede > Depurar) e Debugger.