O conteúdo deste site foi traduzido usando inteligência artificial (IA) ou tecnologia de tradução automática e pode conter erros.

Skip to content

Melhorias no depurador Lua!

Hoje temos o prazer de anunciar uma grande reformulação do nosso Lua Debugger! Esse recurso foi projetado para ajudar você a entender como seu código está sendo executado e identificar bugs de forma mais eficaz do que as opções comumente usadas, como instruções de impressão. Se você não explorou o Lua Debugger recentemente, convidamos você a investigar como ele pode ser usado para depurar seu código de forma mais eficaz. Antes de descrever as últimas melhorias e correções, vamos revisar brevemente os principais recursos do Lua Debugger.

Pontos de interrupção

Inserir pontos de interrupção em seu código permite que você congele o jogo a qualquer momento para inspecionar sua lógica. Para usar pontos de interrupção, identifique aproximadamente onde seu jogo está apresentando comportamento indesejado e defina pontos de interrupção nas instruções nas quais você precisa de mais informações, clicando à esquerda da linha de código. Seu código irá parar temporariamente de ser executado e todas as variáveis globais e locais, propriedades e referências a objetos apresentarão os valores que lhes foram atribuídos no jogo até aquele momento.

Neste exemplo, foi definido um ponto de interrupção na instrução print, permitindo que você inspecione o valor das variáveis definidas ao passar o cursor sobre elas.

Execute o código passo a passo

Quando você pausar seu código em um ponto de interrupção específico, poderá se concentrar em diagnosticar o que está acontecendo. Por exemplo, ao chegar a outras chamadas de função, você pode entrar nessas funções e investigar o que elas estão fazendo. Você também pode sair de qualquer função, o que fará com que o código seja executado até que a função retorne e pare na próxima instrução do código que a chamou. Essa funcionalidade permite que você observe de perto como as variáveis estão mudando ao longo do tempo e quais funções estão sendo chamadas.

W tym przykładzie kliknięcie przycisku „Step Into” przenosi debugger do wnętrza funkcji o nazwie testFunc( )
Neste exemplo, clicar no botão Step Out faz com que o depurador saia da função chamada testFunc() e passe para a próxima linha de código após a função ter sido inicialmente chamada.

Acompanhe as alterações nas suas variáveis

A opção “Adicionar Observação” permite que você informe ao Depurador Lua quais variáveis deseja rastrear ou observar quando elas atingirem pontos de interrupção. Para adicionar um item à lista de observação, basta selecionar uma variável, clicar com o botão direito do mouse sobre ela na visualização do script e clicar no item de menu “Adicionar Observação”. Como alternativa, você pode clicar no botão “Adicionar Observação” e digitar o nome da variável. Isso recuperará automaticamente informações sobre o valor da variável sob observação quando os pontos de interrupção forem atingidos.

Neste exemplo, clicar no botão Step Out faz com que o depurador saia da função chamada testFunc() e passe para a próxima linha de código após a função ter sido inicialmente chamada.

Pilha de chamadas

A janela Pilha de chamadas apresenta uma lista de funções que são chamadas umas pelas outras em sequência. Por exemplo, a função A chama a função B, que, por sua vez, chama a função C, contendo um ponto de interrupção embutido. Então, quando a execução para nesse ponto de interrupção, a pilha mostrará a ordem em que cada função foi chamada, juntamente com o local onde a chamada foi feita. Enquanto observa as variáveis locais na função C, você também pode alternar entre as funções na pilha, alterar o contexto da função atualmente selecionada na lista da pilha e examinar as alterações nessas variáveis locais.

Neste exemplo, você pode ver em que ponto do jogo está quando ele é pausado em um ponto de interrupção no código. Se a linha de código atual foi chamada a partir de uma função chamada de dentro de outra função, a Pilha de Chamadas mostrará a ordem em que as funções foram chamadas, juntamente com o número da linha onde a chamada foi feita.

Usando o Depurador Lua

O Depurador Lua pode ser acessado sempre que você estiver editando scripts no Roblox Studio. Para começar e adicionar pontos de interrupção ao seu código, basta clicar à esquerda da linha de código na janela de script que você deseja pausar. Cada linha em que você clicar e designar como ponto de interrupção será indicada com um ponto vermelho.

Assim que você testar o jogo, poderá ativar as opções Breakpoint, Add Watch e Call Stack no menu View e investigar o comportamento do seu código abaixo da janela de visualização principal. É simples assim! Se você ainda não usou o Lua Debugger, recomendamos que você dê uma olhada.

Novas melhorias

Agora que revisamos os principais recursos do Lua Debugger, fizemos recentemente várias melhorias e correções significativas, incluindo:

  • Corrigimos um problema em que o script correto poderia não abrir em um Breakpoint ou na janela Call Stack.
  • Corrigimos o realce da linha atual no Lua Debugger.
  • Erros de chamada protegida ou pcall agora são detectados corretamente.
  • Adicionadas tabelas mistas que permitem monitorar e rastrear valores. Você também pode passar o mouse sobre uma variável de tabela e ver todos os seus valores imediatamente, sem precisar imprimi-los.
  • Várias pequenas melhorias na interface do usuário.
  • Várias correções nas dicas de ferramentas e na janela “Adicionar Observação”.
    • Passar o mouse sobre variáveis de um único caractere agora mostra corretamente o valor da variável.
    • Todas as propriedades agora estão listadas na dica de ferramenta e na janela “Observar”, sem nenhuma propriedade faltando.

Estamos comprometidos em fornecer à talentosa comunidade de desenvolvedores do Roblox as ferramentas de que precisam. Adoraríamos receber seus comentários sobre como podemos continuar a aprimorar o Lua Debugger no Fórum de Desenvolvedores.