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.

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.


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.

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.

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.


