I contenuti di questo sito sono stati tradotti mediante intelligenza artificiale (IA) o tecnologia di traduzione automatica e potrebbero contenere errori.

Skip to content

Miglioramenti al debugger Lua!

Oggi siamo lieti di annunciare un importante aggiornamento del nostro Lua Debugger! Questa funzionalità è stata progettata per aiutarti a comprendere come viene eseguito il tuo codice e a identificare i bug in modo più efficace rispetto alle opzioni comunemente utilizzate, come le istruzioni di stampa. Se non hai esplorato il Lua Debugger di recente, ti invitiamo a scoprire come può essere utilizzato per eseguire il debug del tuo codice in modo più efficace. Prima di descrivere gli ultimi miglioramenti e correzioni, rivediamo brevemente le caratteristiche principali del Lua Debugger.

Punti di interruzione

L'inserimento di punti di interruzione nel codice consente di bloccare il gioco in qualsiasi momento per esaminarne la logica. Per utilizzare i punti di interruzione, individuate approssimativamente il punto in cui il gioco presenta un comportamento anomalo e impostate i punti di interruzione sulle istruzioni per le quali sono necessarie ulteriori informazioni, facendo clic a sinistra della riga di codice. L'esecuzione del codice verrà temporaneamente interrotta e tutte le variabili globali e locali, le proprietà e i riferimenti agli oggetti mostreranno i valori loro assegnati nel gioco fino a quel momento.

In this example, a breakpoint has been set at the print statement allowing you to inspect the value of set variables by hovering your cursor over them.

Esegui il codice passo dopo passo

Quando hai messo in pausa il codice in un punto di interruzione specifico, puoi concentrarti sull'analisi di ciò che sta accadendo. Ad esempio, quando raggiungi altre chiamate di funzione, puoi entrare in quelle funzioni (Step Into) e verificare cosa stanno facendo. Puoi anche uscire da qualsiasi funzione (Step Out), il che farà eseguire il codice fino a quando la funzione non restituisce un valore e si ferma all'istruzione successiva nel codice che l'ha chiamata. Questa funzionalità ti permette di osservare da vicino come le variabili cambiano nel tempo e quali funzioni vengono chiamate.

Dalam contoh ini, mengklik tombol Step Into akan memindahkan debugger ke dalam fungsi yang bernama testFunc( )
In questo esempio, facendo clic sul pulsante Step Out il debugger esce dalla funzione denominata testFunc( ) e passa alla riga di codice successiva a quella in cui la funzione è stata inizialmente chiamata.

Tieni d'occhio le modifiche alle tue variabili

"Add Watch" ti permette di indicare al Lua Debugger quali variabili vuoi monitorare o tenere d'occhio quando incontrano i breakpoint. Per aggiungere un elemento alla lista di monitoraggio, basta evidenziare una variabile e cliccarci sopra con il tasto destro nella vista dello script, quindi selezionare la voce di menu "Add Watch". In alternativa, puoi cliccare sul pulsante "Add Watch" e digitare il nome della variabile. Questo recupererà automaticamente le informazioni sul valore della variabile monitorata quando vengono raggiunti i breakpoint.

In questo esempio, facendo clic sul pulsante Step Out il debugger esce dalla funzione denominata testFunc( ) e passa alla riga di codice successiva a quella in cui la funzione è stata inizialmente chiamata.

Stack di chiamate

La finestra Call Stack presenta un elenco di funzioni che vengono chiamate l'una dall'altra in sequenza. Ad esempio, la funzione A chiama la funzione B, che a sua volta chiama la funzione C contenente un punto di interruzione incorporato. Quindi, quando l'esecuzione si ferma a quel punto di interruzione, lo stack mostrerà l'ordine in cui ciascuna funzione è stata chiamata insieme al punto in cui è stata effettuata la chiamata. Mentre si osservano le variabili locali nella funzione C, è anche possibile passare da una funzione all'altra nello stack e modificare il contesto della funzione attualmente selezionata nell'elenco dello stack ed esaminare le modifiche a quelle variabili locali.

In this example, you can see where you are in your game when paused at a breakpoint in the code. If the current line of code was called from a function called from inside another function, the Call Stack will show the order the functions were called along with the line number where the call was made.

Utilizzo del debugger Lua

È possibile accedere al debugger Lua ogni volta che si modificano gli script in Roblox Studio. Per iniziare e aggiungere dei punti di interruzione nel codice, basta cliccare a sinistra della riga di codice nella finestra dello script che si desidera mettere in pausa. Ogni riga su cui si clicca e che viene designata come punto di interruzione sarà indicata con un punto rosso.

Non appena si avvia il gioco in modalità di prova, è possibile attivare le opzioni Breakpoint, Add Watch e Call Stack nel menu View e analizzare il comportamento del codice sotto la finestra di visualizzazione principale. È semplicissimo! Se non avete mai utilizzato il Lua Debugger, vi invitiamo a provarlo.

Nuovi miglioramenti

Dopo aver esaminato le caratteristiche principali del Lua Debugger, abbiamo recentemente apportato una serie di miglioramenti e correzioni significativi, tra cui:

  • Risolto un problema per cui lo script corretto poteva non aprirsi su un Breakpoint o dalla finestra Call Stack.
  • Risolto l'evidenziazione della riga corrente nel Lua Debugger.
  • Gli errori di chiamata protetta o pcall vengono ora rilevati correttamente.
  • Aggiunte tabelle miste che consentono di monitorare e tracciare i valori. È inoltre possibile passare il mouse su una variabile della tabella e visualizzare immediatamente tutti i valori senza bisogno di stamparli.
  • Vari miglioramenti minori all'interfaccia utente.
  • Varie correzioni ai tooltip e alla finestra "Aggiungi osservazione".
    • Passando il mouse su variabili a carattere singolo ora viene visualizzato correttamente il valore della variabile.
    • Tutte le proprietà sono ora elencate nel tooltip e nella finestra "Watch" senza alcuna omissione.

Ci impegniamo a fornire alla talentuosa comunità di sviluppatori Roblox gli strumenti di cui ha bisogno. Ci farebbe molto piacere ricevere il tuo feedback su come possiamo continuare a migliorare il Lua Debugger sul Forum degli sviluppatori.