Studio offre molti strumenti e flussi di lavoro di debug comunemente trovati negli ambienti di sviluppo integrati (IDE). Questi ti aiutano a ispezionare e risolvere errori negli script mentre vengono eseguiti.
Debugging con breakpoint
I breakpoint sono punti di controllo che mettono in pausa o "interrompono" l'esecuzione dei tuoi script a linee specifiche. Puoi utilizzare le pause per ispezionare e fare il debug della tua esperienza, monitorare le variabili e ispezionare lo stack di chiamate. I breakpoint sono uno dei modi più efficaci per eseguire il debug delle funzioni, quindi sono uno degli strumenti di debug più importanti.
Gestione
Nell'Editor di script, puoi inserire diversi tipi di breakpoint e modificare la configurazione di un breakpoint in qualsiasi momento, anche durante le sessioni di playtest. Se modifichi i breakpoint durante una sessione di playtest, le modifiche persistono anche dopo averla terminata. Puoi anche modificare un breakpoint che sta attivamente mettendo in pausa la tua sessione di playtest, ma le modifiche non si applicano fino alla prossima sessione di playtest.
Inserisci
I breakpoint possono assumere più varianti e possono essere inseriti in qualsiasi riga di codice eseguibile come segue:
Per inserire un breakpoint standard in una riga di codice, fai clic nel margine direttamente a destra del suo numero di riga. In alternativa, fai clic con il tasto destro nel margine e seleziona Inserisci Breakpoint. L'icona del breakpoint appare come un cerchio rosso.

Disabilita
Per disabilitare temporaneamente un breakpoint senza eliminarlo, utilizza uno dei seguenti flussi di lavoro:
- Fai clic sull'icona del breakpoint.
- Fai clic con il tasto destro sull'icona del breakpoint e seleziona Disabilita Breakpoint.
- Modifica il breakpoint e attiva/disattiva la sua casella Abilitato.
Un breakpoint disabilitato appare come una versione vuota della sua iconcina abilitata, ad esempio un cerchio vuoto per un breakpoint standard disabilitato, o un rombo vuoto per un logpoint disabilitato.


Elimina
Per eliminare un breakpoint, fai clic in mezzo sulla sua icona o fai clic con il tasto destro sull'icona e seleziona Elimina Breakpoint.
Modifica
Puoi modificare la configurazione di un breakpoint in qualsiasi momento, anche durante le sessioni di playtest. Se modifichi i breakpoint durante una sessione di playtest, le modifiche persistono anche dopo averla terminata. Puoi anche modificare un breakpoint che sta attivamente mettendo in pausa la tua sessione di playtest, ma le modifiche non si applicano fino alla prossima sessione di playtest.
Per modificare un breakpoint:
Fai clic con il tasto destro sull'icona del breakpoint e seleziona Modifica Breakpoint.
Nella finestra Modifica Breakpoint, configura il breakpoint come desiderato. Puoi mescolare queste configurazioni per adattarle al meglio alle tue esigenze di debug.
Opzione Descrizione Condizione Un'espressione facoltativa che determina se il breakpoint si attiva. Se la condizione è vuota, il breakpoint si attiva sempre. Se esiste la condizione, il breakpoint diventa un breakpoint condizionale e si attiva solo se la condizione è vera. Ad esempio, se vuoi che il breakpoint si attivi solo se la variabile var è uguale a 10, imposta la condizione su var == 10. Messaggio di Log Un'espressione che stampa nella finestra Output quando il breakpoint viene colpito. Il formato del messaggio di log è lo stesso di quello di un'istruzione print(). Ad esempio, imposta il messaggio di log su "Il valore di var:", var per generare lo stesso messaggio di print("Il valore di var:", var). Continua Esecuzione Determina se il breakpoint interrompe lo script se si attiva. Questa opzione è disabilitata per impostazione predefinita, a meno che il breakpoint inserito non sia un logpoint. Rimuovi Breakpoint all'Attivazione Se selezionato, il breakpoint si rimuove automaticamente dopo la prima sessione di playtest, rendendolo effettivamente un breakpoint temporaneo. Attiva In Il contesto di un breakpoint determina se deve attivarsi sul Client (script lato client), Server (script lato server) o Edit (script del plugin di debug). Se scegli Contesto Personalizzato, la finestra indica i contesti di attivazione attuali.
WorkFlow
Il flusso di lavoro tipico per il debug con breakpoint è il seguente:
Apri lo script che desideri debug e inserisci i breakpoint sulle righe di codice che vuoi esaminare.
Dal mezzanino di Studio, avvia un playtest per iniziare il debug.

Quando lo script colpisce un breakpoint, la sessione di playtest si ferma a meno che quel breakpoint non sia configurato per continuare l'esecuzione. Una freccia gialla sopra il breakpoint indica quale riga di codice viene eseguita successivamente.

Mentre lo script è in pausa, ispeziona la finestra Breakpoint, la finestra Watch, la finestra Call Stack, la finestra Output e l'Editor di script per trovare informazioni sui valori delle variabili e sulle esecuzioni delle funzioni.
Per continuare a eseguire il codice dopo aver colpito un breakpoint, fai clic su Riprendi Scripts nel mezzanino.

Puoi anche eseguire il codice una riga alla volta con i pulsanti di passo nel mezzanino:

Azioni Scorciatoia Descrizione Passo Dentro F11 Il pulsante Passo Dentro sposta il debugger nel codice della funzione nella riga corrente. Se non c'è una funzione nella riga corrente, il debugger si sposta alla riga successiva. Passo Oltre F10 Il pulsante Passo Oltre sposta il debugger alla riga di codice successiva, non inserendo funzioni. Passo Fuori ShiftF11 Il pulsante Passo Fuori sposta il debugger fuori dalla funzione corrente e alla riga di codice successiva dopo la chiamata della funzione. Se la riga corrente non è all'interno di una funzione, il debugger si sposta alla riga successiva. Quando hai finito di fare debug per la sessione corrente, fai clic sul pulsante Stop.

Monitoraggio
Studio include più finestre e strumenti per monitorare i valori delle variabili e le esecuzioni delle funzioni durante il debug. Con queste informazioni, puoi trovare la causa principale della maggior parte dei problemi nei tuoi script.

Breakpoints
La finestra Breakpoint è una vista unificata che mostra tutti i breakpoint all'interno di tutti gli script. Per aprirla, fai clic su Breakpoints dalla barra degli strumenti della scheda Script di Studio, oppure naviga nel menu Finestra ⟩ Debug e attiva Breakpoints.
Nella finestra, le colonne Script e Riga vengono sempre visualizzate, e puoi attivare/disattivare altre colonne di configurazione tramite il menu ⋮ nell'angolo in alto a destra. All'interno della colonna Script, fai clic con il tasto destro su qualsiasi breakpoint per rivelare un menu di opzioni per modificare, disabilitare/abilitare, eliminare o saltare alla riga del breakpoint all'interno dello script.

Durante una sessione di debug, la colonna più a sinistra mostra (x3) che indica i molteplici contesti (Client, Server, Edit) per il breakpoint. Espandendo il ramo di un breakpoint, puoi quindi fare clic sull'icona accanto a un contesto specifico per disabilitare/abilitare solo per quel contesto, ad esempio disabilitando un breakpoint solo nel contesto Client mantenendolo abilitato nel contesto Server.

Call Stack
La finestra Call Stack, accessibile dalla barra degli strumenti della scheda Script di Studio o dal menu Finestra ⟩ Debug, mostra quale riga di codice verrà eseguita successivamente quando il debugger raggiunge un breakpoint. Se chiami funzioni da dentro altre funzioni, indica quali righe hanno chiamato quelle funzioni, permettendoti di confermare se il flusso di chiamate effettivo corrisponde al flusso previsto.


Mentre lo script è in pausa nei breakpoint, utilizza i pulsanti di passo nel mezzanino per entrare, superare o uscire da una funzione/riga come descritto nel workflow.

Watch
La finestra Watch, accessibile dalla barra degli strumenti della scheda Script di Studio o dal menu Finestra ⟩ Debug, ti permette di monitorare attivamente i valori delle variabili e delle espressioni mentre passi attraverso i breakpoint.
La scheda Variabili mostra informazioni sulle variabili correnti in scope, filtrabili facendo clic sul pulsante Tutti Scopes nella barra superiore della finestra. Espandere un ramo mostra i membri di quella variabile o istanza e i loro valori. Puoi anche monitorare qualsiasi variabile evidenziandola due volte nell'Editor di Script, facendo clic con il tasto destro e selezionando Aggiungi Watch dal menu popup.


Editor di script
Il debugger è integrato nell'Editor di script. Quando la tua esperienza è in pausa su un breakpoint in uno script, puoi passare il mouse sopra il nome di una variabile per vedere il suo valore. Ad esempio, puoi vedere la composizione di una tabella e le sue chiavi/valori contenute.

Strumenti di debug aggiuntivi
Oltre al debugger, Studio offre strumenti di debug aggiuntivi per aiutarti a risolvere problemi e bug nella tua esperienza.
Command Bar
La Command Bar ti consente di eseguire comandi Luau mentre l'esperienza è in esecuzione. È disponibile in Studio dal menu Finestra ⟩ Script e nella Console Sviluppatore.
Developer Console
La Developer Console fornisce una vasta gamma di dettagli, tra cui output client e server, utilizzo della memoria, prestazioni di rete e altro. Per aprire la console mentre testi o giochi un'esperienza, digita /console nella chat o premi F9.
File di log
Quando uno script stampa o genera errori in Studio o nell'app del giocatore, l'app registra il messaggio in un file di log nel file system locale. Questi file si trovano in luoghi diversi a seconda del sistema operativo.
Windows
Per accedere ai file di log su Windows:
- Apri Esplora file.
- Naviga nella directory %LOCALAPPDATA%\Roblox\logs.
- Fai doppio clic su un log per aprirlo. I log con lo stesso valore XXXXX provengono dalla stessa sessione di Studio.
Mac
Per accedere ai file di log su Mac:
- Apri Finder.
- Nella barra dei menu, seleziona Vai ⟩ Vai alla Cartella....
- Nella finestra di dialogo, inserisci ~/Library/Logs/Roblox.
- Fai doppio clic sul risultato per navigare nella directory dei log di Roblox.
- All'interno della directory, fai doppio clic su un log per aprirlo.
iOS
Puoi raccogliere i log di iOS utilizzando un Mac o utilizzando un dispositivo iOS.
Per accedere ai file di log iOS su un Mac:
- Collega il dispositivo iOS a un Mac.
- Apri Finder.
- Naviga su Utility e apri l'applicazione Console.
- Per popolare i log in tempo reale nell'app Console, seleziona il dispositivo iOS dalla barra laterale, fai clic sul pulsante Avvia e riproduci il problema sul dispositivo iOS.
- Per popolare i log archiviati nell'app Console, esegui sudo log collect --device-name "[iOS Device Name]" nel Terminale. Assicurati che nel nome del dispositivo non ci siano apostrofi, altrimenti potresti ricevere un errore quando esegui il comando.
Android
Per accedere ai file di log su Android:
- Naviga su Impostazioni ⟩ Sistema ⟩ Opzioni sviluppatore.
- Attiva Opzioni sviluppatore.
- Su un computer, scarica e installa Android Studio.
- In Android Studio, fai clic su Logcat.
- Collega il dispositivo Android al computer per popolare automaticamente Logcat con i log.