Depuração

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

O Studio oferece muitas ferramentas de depuração comumente encontradas em ambientes de desenvolvimento integrado (IDEs). Essas ferramentas ajudam você a resolver erros e inspecionar scripts linha a linha enquanto eles são executar. As informações de depuração são exibidas nas janelas Watch , Call Stack , Breakpoints e 1>Output1> para você inspecionar.

Gerenciador de Trabalho Geral

Se você notar um problema em sua experiência ou quiser verificar se está funcionando como você espera, você pode debugar o código relacionado a ele da seguinte forma:

  1. Insira pontos de interrupção nas linhas de códigos que você deseja examinar.

  2. Na aba Script, clique em Jogar ou Correr na aba de teste para iniciar uma sessão de teste, também conhecida como sessão de depuração.

    Playtest options in Script tab.
  3. Quando um script atinge um ponto de interrupção, a sessão de teste de código é interrompida. Passar pelo código. Inspecione as Janela de Saída , Janela de Entrada e Janela de Interrupção para ajudá-lo a diagnosticar e entender o problema.

  4. Insira pontos de interrupção adicionais em linhas de código que ainda não foram executadas para inspeitar dados adicionais. Desabilitar ou excluir pontos de interrupção que você não precisa mais.

  5. Na aba Script, clique em Parar para encerrar a sessão de depuração.

Repita os passos anteriores até que você solucione o problema ou encontre sua causa raiz. À medida que você aprende o fluxo geral, você pode configurar os pontos de interrupção para serem interrompidos apenas se certas condições forem atendidas, para imprimir uma mensagem na janela Saída e para executar apenas no cliente ou servidor. Para mais informações, see Configurações de Ponto de Interrupção.

Inserindo Pontos de Quebra

Pontos de interrupção são checkpoints que pausam ou "quebram" a execução de seus scripts em linhas específicas. Você pode usar os暂停 para inspecionar e debugar sua experiência, observar variáveis e inspecionar o Stack de chamadas. Pontos de interrupção são uma das ferramentas de depuração mais eficazes, então eles são uma das ferramentas de diagnóstico mais importantes. Você pode in

Para inserir um ponto de interrupção padrão em uma linha de código, clique com o botão esquerdo no espaço da margem à direita do seu número de linha. Você também pode clicar com o botão esquerdo no espaço da margem e clicar em Inserir Ponto de Interrupção. O ponto de interrupção aparece como um ponto vermelho. Para desativá-lo, clique no ponto.

Breakpoint in gutter is a red dot

Passando por Código

Se você inserir um ponto de interrupção em uma linha em um script, o script será executado antes de executar essa linha. Uma seta amarela chamada " debugger" indica qual linha de código será executada em seguida.

Active breakpoint in the debugger shows yellow arrow

Quando o script é pausado, execute o seguinte código uma linha por vez, passando por eles com os botões na aba Script . Os botões também aparecem no canto superior esquerdo da janela Call Stack. À medida que você passa pelo código, monitorar como sua experiência muda à medida que a linha atual é executada.

Debugging tools indicated in Script tab

A tabela a seguir resume as três maneiras de passar por código. Para continuar executando seu código depois de você atingir um ponto de interrupção, clique em Resumir na aba Script.

BotãoAçãoAtalhoDescrição
Button to step into a line of code Entrar em F11O botão Entrar em move o debugger para o código da função na linha atual. Se não houver função na linha atual, o debugger será movido para a próxima linha.
Button to step over a line of code Passar por Cima F10O botão Pare o Substituir move o debugger para a próxima linha de código, não se movendo para funções.
Button to step out of a line of code Passo para fora ShiftF11O botão Saia do Passo move o debugger para fora da função atual e para a próxima linha de código após a chamada da função. Se a linha atual não estiver dentro de uma função, o debugger se moverá para a próxima linha.

Inspectando Código

Quando um ponto de interrupção interrompe a experiência durante um teste de jogo, você pode inspecionar a Janela de Relógio, Janela de Chamada de Subprocesso, Janela de Saída de Subprocesso e 2> Editor de Scripts2> para encontrar informações sobre valores variáveis e execuções de função. Com essas informações, você pode encontrar a raiz do problema em sua experiência.

Janela de Vídeo

A Janela do Relógio tem duas guias: Variáveis e Minhas Relógios. A 2> Janela do Variáveis2> aba mostra informações sobre as variáveis atuais em escopo e a 5> Minhas Relógios5> aba mostra o valor das variáveis ou expressões que você define. Ambas as guias mostram informações antes da linha ser executada.

A aba Variáveis tem as seguintes colunas:

  • Nome – O nome declarado da variável.
  • Alcance – O alcance da variável: onde ela pode ser "vista" e acessada, como Local, Global ou Upvalue.
  • Valor – O valor atual da variável.
  • Tipo de Dado – O tipo de dado da variável.

A aba Meus Relógios tem as seguintes colunas:

  • Expressão – A expressão que você deseja Observar.
  • Valor – O valor atual da expressão.
  • Tipo de Dados – O tipo de dado da expressão.

Na aba Variáveis , você pode filtrar o escopo das variáveis clicando no ícone de filtro. Você também pode classificar as linhas clicando no nome da coluna para classificar. A janela de relógio fornece ambas as visualizações expandidas e colapsadas de tabelas.

Watch Window with variable values

Para inspeitar código na janela Watch:

  1. Se a Janela de Relógio não estiver aberta, então clique em Janela de Relógio na aba Ver.

  2. Quando sua sessão de teste de jogo é interrompida em um ponto de interrupção, pense em como você espera que a linha atual mude os valores das variáveis nesse script.

  3. À medida que você passa pelo código, observe como a vale das variáveis muda na aba Variáveis . Se você quiser ver uma expressão não na aba Variáveis, abra a aba Meus Relógios . Clique em uma linha vazia na coluna Expressão, então digite a expressão nela. Se você quiser ver uma variável no Editor de Script, clique duas vezes no nome da vari

  4. Compare os valores das variáveis e expressões com o que você espera e o que você vê na janela de Watch. Se houver uma diferença entre como você espera que as variáveis ​​mudem e como elas realmente mudam, então as variáveis ou as funções que interagem com elas podem estar causando problemas ou bugs.

Janela de Chamada de Código

A janela Chamada de Pilha mostra qual linha de código será executada em seguida quando o debugger atingir um ponto de interrupção. A janela Chamada de Pilha indica qual linha você chama uma função a partir e, se você chamar a função em outras funções, a ordem das funções de chamada e quais linhas você chama as outras funções. A parte superior da janela Ch

Call Stack in Studio

Se você tiver vários checkpoints em diferentes scripts, eles podem pausar a sessão de teste de jogo na mesma hora. Você pode pular para os checkpoints clicando na seta ao lado do nome do script na janela Call Stack. Se você clicar em Resumir , então você passará por todos os checkpoints que foram pausados na mesma hora.

Call Stack with multiple breakpoints

Para inspeitar o código na janela Call Stack durante uma sessão de depuração:

  1. Se a Janela de Call Stack não estiver aberta, então clique em Call Stack na aba Ver.

  2. Quando sua experiência pausa em um ponto de interrupção, pense em como você espera que as chamadas de função estejam nesse script.

    Script Editor with two functions and one breakpoint
  3. A chamada Stack mostra a ordem de chamadas de função. Se o ponto de interrupção estiver dentro de uma função, a chamada Stack mostrará qual função chamar essa função, se houver. A chamada Stack também mostra o nome e o número de linha de cada função. Clique na linha para uma função para pular para ela.

    Click in Call Stack to jump to line
  4. Compare a ordem das chamadas de função que você pensou em etapa 2 e a ordem real de etapa 3. Se houver alguma diferença, então há uma diferença entre como você espera que o código se comporte e como ele realmente se comporta, o que causa potenciais problemas e bugs.

Janela de saída

A Janela Saída, acessível a partir da guia Vista, exibe erros capturados ao executar scripts, mensagens do Roblox Engine, registros de mensagens, mensagens de chamadas para print() e erros de chamadas para 2> warn()2>.

Editor de Script

O Debugger está integrado com o Editor de Scripts. Quando sua experiência é pausada em um ponto de interrupção em um script, você pode passar o mouse sobre o nome de uma variável para ver seu valor. Por exemplo, você pode ver o valor de uma tabela que você passa como um argumento em uma chamada de função.

Mouseover a variable in Script Editor to show value

Configurações de Quebra

Você pode configurar pontos de interrupção apenas se certas condições forem atendidas, para imprimir uma mensagem na janela Saída e para executar apenas no cliente ou servidor. Você também pode misturar essas configurações juntas para melhor atender às suas necessidades de depuração.

Editando Pontos de Interrupção

Você pode editar a configuração de um ponto de interrupção a qualquer momento, incluindo durante as sessões de teste de sessão. Se você editar p

Para editar a configuração de um ponto de interrupção:

  1. Clique com o botão direito no ponto de interrupção, então clique em Editar Ponto de Interrupção .

    Right click to edit a breakpoint in Studio
  2. Na Janela de Edição de Ponto de Interrupção , configure o ponto de interrupção como você quiser.

    Edit Breakpoint window in Studio

Condição, Mensagem de Log e Opções

Para cada ponto de interrupção, você pode definir sua Condição, Mensagem de log, Continuar a execução e 2> Contexto2>.

A condição é a expressão que determina se o ponto de interrupção será ativado. A condição é opcional. Se a condição estiver vazia, o ponto de interrupção sempre será ativado. Se a condição existir, então o ponto de interrupção será

A Mensagem de Log é a expressão que imprime na janela Saída quando a condição é verdadeira. O formato da Mensagem de Log é o mesmo que o argumento para uma declaração print() . Por exemplo, configure a Mensagem de Log como "The value of n:", n para imprimir a mesma mensagem que 1> print("The value

A opção Continuar Execução determina se o ponto de interrupção interrompe o script se ele for ativado. É útil se você quiser registrar valores de variáveis ou expressões sem interromper a execução. Essa opção é desativada por padrão.

O Conteúdo de um ponto de interrupção determina se o ponto de interrupção deve ser ativado no Cliente, Servidor ou Editar. Se o contexto for Cliente, então o ponto de interrupção será ativado nos scripts do lado do cliente. Se o contexto for Servidor, então o ponto de interrupção será ativado nos scripts do lado do servidor. Se o contexto for Editar, então o ponto de interrupção será ativado quando você debug

Edit Breakpoint Window shows Custom Context

Pontos de Interrupção e Pontos de Logo Condicionados

O Studio oferece várias variações de picos de quebra para tornar a inserção de picos de quebra mais rápida. Para inserir uma variação, clique com o botão direito no espaço reservado à direita de seu número de linha, então clique no pico de quebra que você deseja inserir.

Right click to insert a breakpoint

Um Ponto de Interrupção Condicional é um ponto de interrupção com uma Condição e Executação Contínua desativadas. Pontos de interrupção condicional são úteis para debugar como scripts são executados quando certas variáveis têm valores certos. Pontos de interrupção condicional usam os valores das variáveis antes da linha

Um Logpoint é um ponto de interrupção com um Mensagem de Log e Executar Continuado ativado. Os Logpoints logam mensagens na janela Saída sem pausar seus scripts, para que elas sejam úteis para debugar valores variáveis. Os Logpoints usam os valores das variáveis antes da janela executar. Quando você inserir um Logpoint,

Logpoints são muitas vezes mais eficientes para debugging variáveis do que print() declarações porque eles permitem que você registre mensagens na janela Saída sem ter que parar ou reiniciar a sessão de teste ativo. Em comparação com print() declarações, eles mantêm seu código limpo enquanto debugging e são mais fáceis de remover depois de você terminar o debugging.

Desabilitando Pontos de Quebra

Existem muitas maneiras de desativar e reativar um ponto de interrupção:

  • Clique no ícone do ponto de interrupção.
  • Edite o ponto de interrupção e ative sua caixa de seleção Habilitado.
  • Clique com o botão direito no ícone de ponto de interrupção e clique em Desativar Ponto de Interrupção ou Habilitar Ponto de Interrupção.

Excluindo Pontos de Interrupção

Para excluir um ponto de interrupção, clique com o botão central em seu ícone. Você também pode clicar com o botão direito em seu ícone e clicar em Excluir Ponto de Interrupção .

Janela de Pontos de Quebra

A janela Breakpoints mostra todos os breakpoints na sua experiência. Para abrir a janela Breakpoints, clique na aba Ver na parte superior do Studio, em seguida, clique em Breakpoints.

Breakpoints window in Studio

A janela Breakpoints tem as seguintes colunas: não marcadas, Script, Linha, Linha de Base, Condição, Mensagem de Log e Continuar Executando. As colunas não marcadas, Script e Linha, sempre são exibidas, mas você pode alternar as outras colunas clicando nos três pontos na parte superior direita da janela.

Na coluna não marcada, a etiqueta (x3) indica o número de picos de interrupção na mesma linha de código, e o ícone indica a configuração de picos de interrupção. Os picos de interrupção na mesma linha compartilham a mesma condição, mensagem de log e continuação de execução, mas variam em contexto. Você pode editar a configuração de um pico de interrupção na janela Picos. Por exemplo, você pode editar a cond

Edit the Condition of a Breakpoint in the Breakpoints Window

Você pode ativar e desativar pontos de interrupção clicando em seu ícone de ponto de interrupção na coluna Ativado. Você também pode clicar nos seguintes botões para habilitar, desabilitare excluir alguns ou todos os pontos de interrupção.

BotãoAção
Button to disable all breakpointsDesabilitar todos os pontos de interrupção. Se quaisquer pontos de interrupção estiverem desativados, ative-os todas / todos.
Button to delete all breakpointsExcluir todos os pontos de interrupção.

Ícones de Quebra

O ícone de um ponto de interrupção depende de se ele estiver ativado, ter uma condição e ter uma mensagem de log. Se um ponto de interrupção tiver uma mensagem de log, então ele aparecerá como um ponto de interrupção, independentemente de ter uma condição.

NomeÍconeAtivadoCondiçãoMensagem de Log
Ponto de QuebraSimNãoNão
NãoNãoNão
Ponto de Quebra CondicionalSimSimNão
NãoSimNão
Ponto de LogSimTalvezSim
NãoTalvezSim

Ferramentas de Depuração Adicionais

Além do debugger, o Studio oferece ferramentas de diagnóstico adicionais para você corrigir problemas e bugs em sua experiência.

Barra de Comandos

A Barra de Comandos permite que você execute comandos Luau enquanto a experiência está em execução. Ele está disponível no Studio na aba Ver e na aba Desenvolvedor Console.

Console de Desenvolvedor

A Console de Desenvolvedor fornece uma ampla gama de detalhes, incluindo saída do cliente e do servidor, uso de memória, performancede rede e muito mais. Para abrir a 5>Console de Desenvolvedor5> ao testar ou jogar uma experiência, digite 8>/console8> no chat ou pressione 1>F91>. Para mais informações, veja 4>Console de Desenvolvedor 4>.

Arquivos de Log

Quando um script imprime ou erra no Studio ou no aplicativo Player, o aplicativo registra a mensagem em um arquivo de log no sistema de arquivos local. Esses arquivos estão localizados em diferentes locais dependendo do sistema operacional.

Janelas

Para acessar arquivos de log no Windows:

  1. Abra o Explorer de Arquivos .
  2. Navegue até a %LOCALAPPDATA%\Roblox\logs diretory.
  3. Clique duas vezes em um log para abri-lo. Logs com o mesmo valor XXXXX são da mesma sessão do Studio.

Mac

Para acessar arquivos de log no Mac:

  1. Abra o Finder .
  2. Na barra de menu, selecione Ir Ir para pasta... .
  3. Na caixa de diálogo, insira ~/Library/Logs/Roblox .
  4. Clique duas vezes no resultado para navegar até a diretoria de registros Roblox.
  5. Dentro da pasta, clique duas vezes em um log para abri-lo.

iOS

Você pode coletar registros iOS usando um Mac ou usando um dispositivo iOS.

Para acessar os arquivos de registro iOS em um Mac:

  1. Conecte o dispositivo iOS a um Mac.
  2. Abra o Finder .
  3. Navegue para Utilidades e abra a aplicação Console.
  4. Para preencher registros em tempo real na aplicação Console, selecione o dispositivo iOS na barra lateral, clique no botão Iniciar e reproduza o problema no dispositivo iOS.
  5. Para preencher registros arquivados na aplicação Console, execute sudo log collect --device-name "[iOS Device Name]" no Terminal. Certifique-se de que não haja aspas no nome do dispositivo ou você pode obter um erro ao executar o comando.

Androide

Para acessar arquivos de log no Android:

  1. Navegue até Configurações > Sistema > Opções de desenvolvedor .
  2. Ative Opções de desenvolvedor em.
  3. Em um computador, baixe e instale Android Studio.
  4. In Android Studio, click Logcat .
  5. Conecte o dispositivo Android ao computador para inserir automaticamente o Logcat com registros.