Studio offre molti strumenti di debugging comunemente trovati negli ambienti di sviluppo integrati (IDE).Questi strumenti ti aiutano a risolvere gli errori e a ispezionare gli script linea per linea mentre vengono Eseguire.Le informazioni di debugging vengono visualizzate nella Watch, Call Stack, Punti di interruzione, e Output finestre per te da ispezionare.
Flusso di lavoro generale
Se noti un problema nella tua esperienza o vuoi verificare che funzioni come intendi, puoi debuggare il codice relativo a esso come segue:
Inserisci punti di interruzione sulle linee di codice che vuoi esaminare.
Nella scheda Script, fai clic su Gioca o Esegui nella scheda di test per avviare una Sessionedi playtest, nota anche come Sessionedi debugging.
Quando uno script raggiunge un punto di interruzione, la sessione di playtest si ferma.Ispeziona il Watch, Call Stack e Output finestre per aiutarti a diagnosticare e comprendere il problema.
Inserisci punti di interruzione aggiuntivi nelle linee di codice che non sono ancora state eseguite per ispezionare dati aggiuntivi.Disabilita o elimina i punti di interruzione che non hai più bisogno.
Nella scheda Script , fai clic su Stop per terminare la Sessionedi debugging.
Ripeti i passaggi precedenti fino a quando non risolvi il problema o trovi la sua causa radice.Mentre impari il flusso di lavoro generale, puoi configurare i punti di interruzione per rompere solo se vengono soddisfatte determinate condizioni, per stampare un messaggio nella finestra Output, e per eseguire solo sul client o sul Server.Per ulteriori informazioni, vedi Configurazioni di punto di interruzione.
Inserisci punti di interruzione
I punti di interruzione sono punti di controllo che interrompono o "rompono" l'esecuzione dei tuoi script a linee specifiche.Puoi usare le pause per ispezionare e debuggare la tua esperienza, guarda le variabili, e ispeziona lo stack di chiamata.I punti di interruzione sono uno dei modi più efficaci per debuggare le funzioni, quindi sono uno degli strumenti di debug più importanti.Puoi inserire un punto di interruzione in qualsiasi linea di codice eseguibile.
Per inserire un punto di interruzione standard in una linea di codice, fai clic con il pulsante sinistro sul margine a destra del suo numero di linea.Puoi anche fare clic con il pulsante destro del mouse sul margine e fare clic su Inserisci punto di interruzione.Il punto di interruzione appare come un punto rosso.Per disabilitarlo, clicca il punto.

Passa attraverso il codice
Se inserisci un punto di interruzione in una linea in uno script, lo script si ferma prima di eseguire quella linea.Una freccia gialla chiamata "debugger" indica quale linea di codice viene eseguita successivamente.

Quando lo script si ferma, esegui il seguente codice una linea alla volta facendo clic su di esso con i pulsanti nella scheda Script.I pulsanti appaiono anche nell'angolo in alto a sinistra della finestra Call Stack.Mentre cammini attraverso il codice, monitora come cambia la tua esperienza mentre viene eseguita la linea attuale.

La seguente tabella riassume i tre modi per passare attraverso il codice.Per continuare ad eseguire il tuo codice dopo aver raggiunto un punto di interruzione, fai clic su Resume nella scheda Script .
Pulsante | Azione | Scorciatoia | Descrizione |
---|---|---|---|
![]() | Passo in | F11 | Il pulsante Passo in muove il debugger nel codice della funzione sulla linea attuale.Se non c'è una funzione sulla linea attuale, il debugger si sposta alla prossima linea. |
![]() | Passo Sopra | F10 | Il pulsante Passo Sopra sposta il debugger alla prossima linea di codice, non movendosi nelle funzioni. |
![]() | Passo fuori | ShiftF11 | Il pulsante Passo fuori sposta il debugger fuori dalla funzione attuale e alla prossima linea di codice dopo la chiamata della funzione.Se la linea attuale non è all'interno di una funzione, il debugger si sposta alla prossima linea. |
Ispeziona il codice
Quando un punto di interruzione interrompe l'esperienza durante un Test di giocabilità, puoi ispezionare la finestra Osserva , la finestra Call Stack , la finestra Output e la finestra Editor di script per trovare informazioni sui valori variabili e sulle esecuzioni delle funzioni.Con queste informazioni, puoi trovare la causa radice del problema nella tua esperienza.
Guarda
La finestra Orologio ha due schede: Variabili e Orologi miei .La scheda Variabili mostra informazioni sulle variabili attuali in scopo e la scheda Orologi miei mostra il valore delle variabili o delle espressioni che definisci.Entrambi i tab mostrano le informazioni prima che la linea venga eseguita.
La scheda Variabili ha le seguenti colonne:
- Nome - Il nome dichiarato della variabile.
- Scopo – Lo scopo della variabile: dove può essere "visto" e accesso, come Locale, Globale o Upvalue.
- Valore – Il valore attuale della variabile.
- Tipo di dati – Il tipo di dati della variabile.
La scheda Orologi miei ha le seguenti colonne:
- Espressione – L'espressione che vuoi Ispezionare.
- Valore – Il valore attuale dell'espressione.
- Tipo di dati – Il tipo di dati dell'espressione.
Nella scheda Variabili , puoi filtrare la portata delle variabili facendo clic sull'Iconadel filtro.Puoi anche ordinare le righe facendo clic sul nome della colonna da ordinare.La finestra dell'orologio fornisce sia viste espandite che ridotte di tabelle.

Per ispezionare il codice nella finestra Osserva:
Se la finestra Orologio non è aperta, quindi fai clic su Orologio nella scheda Vista.
Quando la sessione di playtest si ferma a un punto di interruzione, pensa a come ti aspetti che la linea attuale cambi i valori delle variabili in quel script.
Mentre passi attraverso il codice, osserva come cambia il valore delle variabili nella scheda Variabili .Se vuoi guardare un'espressione non nella scheda Variabili, apri la scheda Orologi miei .Fai clic su una riga vuota nella colonna Espressione, quindi digita l'espressione al suo interno.Se vuoi guardare una variabile nell'Editor di script, fai doppio clic sul nome della variabile, quindi fai clic su Aggiungi osservazione .
Confronta i valori delle variabili e delle espressioni da ciò che ti aspetti e da ciò che vedi nella finestra Osserva.Se c'è una differenza tra il modo in cui ti aspetti che le variabili cambino e il modo in cui effettivamente cambiano, le variabili o le funzioni che interagiscono con esse potrebbero causare problemi o bug.
Pila di chiamata
La finestra Call Stack mostra quale linea di codice verrà eseguita successivamente quando il debugger raggiunge un punto di interruzione.La call stack indica quale linea chiami una funzione e, se chiami la funzione in altre funzioni, l'ordine delle chiamate di funzione e quali linee chiami le altre funzioni.La funzione principale della Call Stack è l'ultima chiamata e la prima ad essere eseguita.Puoi usare lo stack di chiamate per controllare se l'ordine delle chiamate di funzione nei tuoi script corrisponde al tuo modello mentale delle chiamate di funzione.

Se hai più punti di interruzione in diversi script, potrebbero pausare la sessione di playtest allo stesso tempo.Puoi saltare ai punti di interruzione facendo clic sulla freccia accanto al nome dello script nella finestra Call Stack.Se fai clic su Riprendi , quindi superi tutti i punti di interruzione che si sono fermati allo stesso tempo.

Per ispezionare il codice nella finestra Call Stack durante una Sessionedi debug:
Se la finestra Call Stack non è aperta, quindi fai clic su Call Stack nella scheda Vista.
Quando la tua esperienza si ferma a un punto di interruzione, pensa a come ti aspetti che l'ordine delle chiamate di funzione sia in quello script.
La call stack mostra l'ordine delle chiamate di funzione.Se il punto di interruzione è all'interno di una funzione, la Call Stack mostra quale funzione chiama quella funzione, se presente.Lo stack di chiamata mostra anche il nome e il numero di linea di ogni funzione.Fai clic sulla riga per una funzione per saltarci sopra.
Confronta l'ordine delle chiamate di funzione che hai pensato nel passo 2 e l'ordine effettivo del passo 3.Se ci sono differenze, allora c'è una differenza tra il modo in cui ti aspetti che il codice si comporti e il modo in cui effettivamente si comporta, causando potenziali problemi e bug.
Uscita
La finestra Output, accessibile dalla scheda Vista, visualizza gli errori catturati dall'esecuzione di script, messaggi da Roblox Engine, messaggi da chiamate a print() e errori da chiamate a warn() .
Editore script
Il debugger è integrato con il Editor di script.Quando la tua esperienza si ferma a un punto di interruzione in uno script, puoi passare il mouse sul nome di una variabile per vedere il suo valore.Ad esempio, puoi vedere il valore di una tabella che passi come argomento in una chiamata di funzione.

Configurazioni di breakpoint
Puoi configurare i punti di interruzione per essere infranti solo se soddisfatte determinate condizioni, per stampare un messaggio nella finestra Output, e per essere eseguito solo sul client o sul Server.Puoi anche mescolare queste configurazioni insieme per soddisfare al meglio le tue esigenze di debugging.
Modifica punti di interruzione
Puoi modificare la configurazione di un punto di interruzione in qualsiasi momento, anche durante le sessioni di playtest.Se modifichi i punti di interruzione durante una Sessionedi playtest, le modifiche persistono anche dopo averla finita.Puoi anche modificare un punto di interruzione che sta attualmente interrompendo la Sessionedi playtest, ma le modifiche non si applicano fino alla prossima Sessionedi playtest.
Per modificare la configurazione di un punto di Punto di rottura:
Fai clic con il pulsante destro del mouse sul punto di interruzione, quindi fai clic su Modifica punto di interruzione .
Nella finestra Modifica punto di interruzione , configura il punto di interruzione come vuoi.
Condizione, Messaggiodi log e opzioni
Per ogni punto di interruzione, puoi impostare la sua condizione , messaggio di log , continua l'esecuzione , e contesto .
La condizione è l'espressione che determina se il punto di interruzione si attiva.La condizione è opzionale.Se la condizione è vuota, il punto di interruzione si attiva sempre.Se la condizione esiste, allora il punto di interruzione si attiva solo se la condizione è vera.Ad esempio, se vuoi che il punto di interruzione si attivi solo se la variabile n è uguale a 42, imposta la condizione come n == 42 .Le condizioni sono utili per debuggare come le funzioni vengono eseguite quando alcune variabili hanno determinati valori o se vuoi rompere solo su alcune esecuzioni in un ciclo.
Il messaggio di registro è l'espressione che stampa nella finestra Output quando la condizione è vera.Il formato del messaggio di registro è lo stesso dell'argomento per una dichiarazione print() .Ad esempio, imposta il messaggio di registro come "The value of n:", n per stampare lo stesso messaggio di print("The value of n:", n).Puoi aggiungere e rimuovere messaggi di registro senza dover interrompere l'esecuzione, a differenza delle dichiarazioni di stampa.
L'opzione Continua esecuzione determina se il punto di interruzione interrompa lo script se si attiva.È utile se vuoi registrare i valori delle variabili o delle espressioni senza interrompere l'esecuzione.Questa opzione è disabilitata per impostazione predefinita.
Il Contesto di un punto di interruzione determina se il punto di interruzione deve essere attivato sul Client, Server o Modifica.Se il contesto è Client, allora il punto di interruzione si attiva negli script lato client.Se il contesto è Server, allora il punto di interruzione si attiva negli script lato server.Se il contesto è Modifica, allora il punto di interruzione si attiva quando debuggi i plugin.Se fai clic su Contesto personalizzato, la finestra indica il contesto attuale.

Punti di interruzione e punti di registro condizionali
Studio offre variazioni nominate di punti di interruzione per rendere l'inserimento di punti di interruzione più veloce.Per inserire una variazione nominata, fai clic con il pulsante destro del mouse sul margine a destra del numero di linea, quindi clicca sulla variante che vuoi inserire.

Un punto di interruzione condizionale è un punto di interruzione con una condizione e esecuzione continua disabilitata.I punti di interruzione condizionali sospendono il tuo script solo se una condizione è vera, quindi sono utili per debuggare come le funzioni vengono eseguite quando alcune variabili hanno determinati valori.I punti di interruzione condizionali utilizzano i valori delle variabili prima che la linea venga eseguita.Quando inserisci un punto di interruzione condizionale, il cursore si concentra sull'opzione Condizione per impostarla rapidamente.
Un Logpoint è un punto di interruzione con un Messaggio di registro e Esecuzione continua abilitati.Logpoints registra i messaggi di output nella finestra Output senza interrompere gli script, quindi sono utili per la diagnosi dei valori variabili.I punti log utilizzano i valori delle variabili prima che la linea venga eseguita.Quando inserisci un Logpoint, il cursore si concentra sul Messaggio di registro per impostarlo rapidamente.
Disabilita i punti di interruzione
Esistono molti modi per disabilitare e riattivare un punto di interruzione:
- Fai clic sull'icona del punto di interruzione.
- Modifica il punto di interruzione e attiva la casella di controllo Abilitata.
- Fai clic con il pulsante destro sull'icona del punto di interruzione e fai clic su Disabilita punto di interruzione o Abilita punto di interruzione.
Elimina punti di interruzione
Per eliminare un punto di Punto di rottura, fai clic medio sull'Icona. Puoi anche fare clic con il pulsante destro sull'icona e fare clic su Elimina punto di interruzione .
Finestra delle interruzioni
La finestra Breakpoints mostra tutti i punti di interruzione nella tua esperienza.Per aprire la finestra Breakpoints, clicca sulla scheda Visualizza nella parte superiore di Studio, quindi clicca Breakpoints.

La finestra Breakpoints ha le seguenti colonne: non contrassegnate, Script, Linea, Linea di origine, Condizione, Messaggio di registro e Continua esecuzione.Le colonne non contrassegnate, Script e Linea vengono sempre visualizzate, ma puoi attivare le altre colonne facendo clic sui tre punti nell'angolo in alto a destra della finestra.
Nella colonna non intitolata, l'etichetta (x3) indica il numero di punti di interruzione sulla stessa linea di codice e l'icona indica la configurazione del punto di interruzione.I punti di interruzione sulla stessa linea condividono la stessa condizione, il messaggio di registro e l'esecuzione continua ma variano nel contesto.Puoi modificare la configurazione di un punto di interruzione nella finestra Punti di interruzione.Ad esempio, puoi modificare la condizione di un punto di interruzione modificando il testoarea nella sua colonna Condizione.

Puoi abilitare e disabilitare i punti di interruzione facendo clic sull'icona del punto di interruzione nella colonna Abilitata.Puoi anche fare clic sui seguenti pulsanti per abilitare, Disattivaree eliminare alcuni o tutti i punti di interruzione.
Pulsante | Azione |
---|---|
![]() | Disabilita tutti i punti di interruzione. Se vengono disabilitati dei punti di interruzione, abilitali tutti/tutte. |
![]() | Elimina tutti i punti di interruzione. |
Icone di interruzione
L'icona di un punto di interruzione dipende se è abilitato, ha una condizione e ha un Messaggiodi log.Se un punto di interruzione ha un Messaggiodi registro, appare come punto di registro indipendentemente dal fatto che abbia una condizione.
Nome | Simbolo | Abilitato | Condizione | Messaggio di log |
---|---|---|---|---|
Punto di interruzione | ![]() | Sì | No | No |
![]() | Nessuno | Nessuno | Nessuno | |
Punto di interruzione condizionale | ![]() | Sì | Sì | No |
![]() | Nessuno | Sì | Nessuno | |
Punto di log | ![]() | Sì | Forse | Sì |
![]() | No | Forse | Sì |
Strumenti di debugging aggiuntivi
Oltre al debugger, Studio offre ulteriori strumenti di debugging per risolvere problemi e bug nella tua esperienza.
Barra dei comandi
La Barra dei comandi ti consente di eseguire comandi Luau mentre l'esperienza è in esecuzione.È disponibile in Studio dalla scheda Visualizza e nella Console dello sviluppatore.
Console per sviluppatori
La Console di sviluppatore fornisce un'ampia gamma di dettagli, tra cui l'Outputdel client e del server, l'utilizzo della memoria, le Prestazionedella rete e altro ancora.Per aprire la Console dello sviluppatore durante il test o il gioco di un'esperienza, digita /console nella chat o premi F9 .Per ulteriori informazioni, vedi Console per sviluppatori.
File di registro
Quando uno script si stampa o si verifica un errore in Studio o nell'applicazionePlayer, l'app registra il messaggio in un file di log nel sistema file locale.Questi file sono localizzati in luoghi diversi a seconda del sistema operativo.
Finestre
Per accedere ai file di registro su Windows:
- Apri File Explorer .
- Naviga alla directory %LOCALAPPDATA%\Roblox\logs .
- Fai doppio clic su un registro per aprirlo. I registri con lo stesso valore XXXXX sono della stessa SessioneStudio.
Maco
Per accedere ai file di registro su Mac:
- Apri Trova .
- Nella barra dei menu, seleziona Vai > Vai alla cartella... .
- Nella finestra di dialogo, inserisci ~/Library/Logs/Roblox .
- Fai doppio clic sul risultato per navigare alla directory dei registri Roblox.
- All'interno della directory, fai doppio clic su un log per aprirlo.
iOS
Puoi raccogliere i log iOS utilizzando un Mac o utilizzando un DispositivoiOS.
Per accedere ai file di registro iOS su un Mac:
- Collega il dispositivo iOS a un Mac.
- Apri Trova .
- Navigate to Utilities e apri l'applicazione Console .
- Per popolare i registri in tempo reale nell'applicazione Console, seleziona il dispositivo iOS dalla barra laterale, clicca il pulsante Inizia e riproduci l'issue sul DispositivoiOS.
- Per popolare i registri archiviati nell'applicazione Console, esegui sudo log collect --device-name "[iOS Device Name]" nel Terminal .Assicurati che non ci siano apostrofi nel nome del Dispositivoo potresti ricevere un errore durante l'esecuzione del comando.
Andrea
Per accedere ai file di registro su Android:
- Navigate to 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 riempire automaticamente Logcat con i log.