Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Panoramica degli strumenti di debug

Questa guida fornirà una panoramica degli strumenti di debug disponibili nel motore.

Godot include un potente debugger e profiler per individuare i bug, analizzare il gioco in fase di esecuzione, monitorare le metriche essenziali e misurare le prestazioni. Offre inoltre opzioni per visualizzare le collision box e i poligoni di navigazione durante l'esecuzione del gioco.

Infine, sono disponibili opzioni per il debug del gioco in esecuzione su un dispositivo remoto e per ricaricare le modifiche apportate alle scene o al codice mentre il gioco è in esecuzione.

Pannello Output

Il pannello Output consente di visualizzare il testo stampato dal progetto, ma anche dall'editor (ad esempio dagli script @tool). Ulteriori informazioni sono disponibili in Pannello Output.

Pannello Debugger

Molti degli strumenti di debug di Godot fanno parte del pannello Debugger, su cui puoi trovare informazioni in Pannello di debug.

Opzioni del menu di debug

Ci sono alcune opzioni di debug comuni che puoi attivare o disattivare quando esegui il gioco nell'editor, che possono aiutarti a risolvere eventuali problemi del gioco.

Puoi trovare queste opzioni nel menu Debug dell'editor.

../../../_images/overview_debug.webp

Ecco le descrizioni delle opzioni:

Distribuisci con Debug Remoto

When this option is enabled, using one-click deploy will make the executable attempt to connect to this computer's IP so the running project can be debugged. This option is intended to be used for remote debugging (typically with a mobile device). You don't need to enable it to use the GDScript debugger locally.

Distribuzione minima con file system di rete

Questa opzione velocizza i test per i giochi che occupano molto spazio sui dispositivi remoti.

Quando Distribuzione minima con file system di rete è attiva, invece di esportare il gioco completo, la distribuzione del gioco compila un eseguibile minimo. L'editor fornisce quindi i file del progetto tramite la rete.

Inoltre, su Android, il gioco è distribuito tramite cavo USB per velocizzare la distribuzione.

Vedi forme di collisione

Quando questa opzione è abilitata, le forme di collisione e i nodi RayCast (sia 2D sia 3D) saranno visibili nel progetto in esecuzione.

Vedi percorsi

Quando questa opzione è abilitata, le curve utilizzate dai nodi Path saranno visibili nel progetto in esecuzione.

Vedi navigazione

Quando questa opzione è abilitata, le mesh di navigazione, e i poligoni saranno visibili nel progetto in esecuzione.

Vedi evasione

Quando questa opzione è abilitata, le forme, i raggi, e le velocità degli oggetti di evasione saranno visibili nel progetto in esecuzione.

Debug ridisegno di CanvasItem

Quando questa opzione è abilitata, le richieste di ridisegno degli oggetti 2D diventeranno visibili (come un breve flash) nel progetto in esecuzione. Questa opzione è utile per risolvere i problemi per la modalità basso consumo del processore.

Sincronizza modifiche di scene

Quando questa opzione è abilitata, tutte le modifiche apportate alla scena nell'editor saranno replicate nel progetto in esecuzione. Se utilizzato in remoto su un dispositivo, questo metodo risulta più efficiente se l'opzione del file system di rete è abilitata.

Sincronizza modifiche di script

Quando questa opzione è abilitata, tutte le modifiche apportate allo script nell'editor saranno replicate nel progetto in esecuzione. Se utilizzato in remoto su un dispositivo, questo metodo risulta più efficiente se l'opzione del file system di rete è abilitata.

Mantieni server di debug aperto

Quando questa opzione è abilitata, il server di debug dell'editor rimarrà aperto e ascolterà le nuove sessioni avviate all'esterno dell'editor stesso.

Personalizza istanze di esecuzione...

Questa apre una finestra di dialogo che consente di indicare a Godot di eseguire più istanze del gioco alla volta, e di specificare gli argomenti della riga di comando per ciascuna istanza. Questa funzionalità è particolarmente utile durante la creazione e il debug di giochi multigiocatore.

../../../_images/customize_run_instances.webp

Abilita molteplici istanze

Quando questa opzione è abilitata, l'editor eseguirà più istanze del progetto alla volta quando si esegue il progetto.

Sotto questa casella di spunta c'è un selettore per scegliere quante istanze eseguire.

Spuntare la casella e impostarla solo su 1 equivale a non selezionarla affatto.

Parametri di esecuzione principale

Questi sono gli argomenti passati a ogni istanza del progetto quando esegui il progetto, a meno che tu non selezioni "Abilitato" in "Sostituisci gli argomenti di esec. principale" per un'istanza specifica.

Nota che questi argomenti sono separati da spazi.

Suggerimento

È possibile accedere a questi argomenti in uno script tramite get_cmdline_args.

Avvertimento

Anche se deselezioni "Abilita molteplici istanze", questi argomenti verranno passati quando esegui il progetto.

Tag di funzionalità principali

Questi sono i tag di funzionalità passati a ogni istanza del progetto quando esegui il progetto, a meno che tu non selezioni "Abilitato" in "Sovrascrivi tag principali" per un'istanza specifica.

Sostituisci gli argomenti di esec. principale

Se questa è abilitata, gli argomenti nel campo "Argomenti di esecuzione principale" non verranno passati a questa specifica istanza del progetto quando si esegue il progetto.

Argomenti all'avvio

Questi sono gli argomenti che verranno passati a questa specifica istanza del progetto quando si esegue il progetto. Saranno combinati con gli "Argomenti di esecuzione principale", a meno che non sia selezionato "Abilitato" in "Sostituisci gli argomenti di esec. principale".

Sostituisci i tag principali

Se questa opzione è abilitata, i tag nel campo "Tag delle funzionalità principali" non verranno passati a questa specifica istanza del progetto quando si esegue il progetto.

Tag di funzionalità

Questi sono i tag delle funzionalità che verranno passati a questa specifica istanza del progetto quando si esegue il progetto. Saranno combinati con i "Tag delle funzionalità principali", a meno che non si selezioni "Abilitato" in "Sostituisci i tag principali".

Avvertimento

Se si desidera passare argomenti "Utente", a cui si può accedere con get_cmdline_user_args, è necessario anteporli con due trattini e uno spazio, ad esempio -- uno due tre.

Tieni presente che questi trattini verranno applicati agli argomenti aggiunti in seguito negli "Argomenti di avvio" per ciascuna istanza, il che può causare confusione quando si combinano gli Argomenti di esecuzione principale e gli Argomenti di avvio.

Se è inserito -- uno due tre in "Argomenti di esecuzione principale" e -- quattro cinque sei in "Argomenti di avvio", gli argomenti finali della riga di comando saranno uno due tre -- quattro cinque sei. Questo perché -- viene ripetuto in "Argomenti di avvio".

Strumenti e opzioni di debug nell'editor di script

L'editor di script ha un proprio insieme di strumenti di debug da utilizzare con i punti d'interruzione e due opzioni. Gli strumenti per i punti d'interruzione sono disponibili anche nella scheda Debugger del debugger.

Suggerimento

È possibile creare un punto d'interruzione cliccando sulla barra a sinistra dell'editor di script (a sinistra dei numeri di riga). Passando il mouse su questa barra, apparirà un punto rosso trasparente, che diventerà opaco dopo aver inserito il punto d'interruzione cliccandoci sopra. Cliccando nuovamente sul punto rosso, il punto d'interruzione verrà rimosso. I punti d'interruzione creati in questo modo sono mantenuti anche dopo il riavvio dell'editor, anche se lo script non è stato salvato all'uscita dall'editor.

È anche possibile utilizzare la parola chiave breakpoint in GDScript per creare un punto d'interruzione memorizzato nello script stesso. A differenza dei punti d'interruzione creati cliccando nella barra, questo punto d'interruzione basato su una parola chiave è persistente su diverse macchine quando si utilizza il controllo versione.

../../../_images/overview_script_editor.webp

Il pulsante Interrompi provoca un'interruzione nello script, come farebbe un punto d'interruzione. Continua fa continuare il gioco dopo una pausa da un punto d'interruzione. Fai un passo passa alla riga di codice successiva e Fai un passo all'interno passa dentro una funzione se possibile. Se non, fa la stessa cosa di Fai un passo.

L'opzione Debug con editor esterno consente di effettuare il debug del tuo gioco con un editor esterno. Puoi impostare una scorciatoia in Impostazioni dell'editor > Scorciatoie > Debugger.

Quando il debugger si interrompe su un punto d'interruzione, una freccia triangolare verde è visibile nella barra laterale dell'editor di script. Questa freccia indica la riga di codice in cui il debugger si è interrotto.

Impostazioni di debug del progetto

Nelle impostazioni del progetto è presente la categoria Debug con sottocategorie che controllano diverse impostazioni. Abilita Impostazioni avanzate per cambiare queste impostazioni.

Impostazioni

Queste sono alcune impostazioni generali, come la stampa degli FPS attuali sul pannello Output, il numero massimo di funzioni durante la profilazione e altro.

Logging su file

Queste impostazioni consentono di registrare l'output della console e i messaggi di errore nei file.

GDScript

Queste impostazioni consentono di attivare/disattivare avvisi specifici di GDScript, ad esempio per le variabili non utilizzate. È anche possibile disattivare completamente gli avvisi. Per ulteriori informazioni, consultare Sistema di avvertimento in GDScript.

Linguaggio di shader

Queste impostazioni consentono di attivare/disattivare avvisi specifici per gli shader, ad esempio per le variabili non utilizzate. È anche possibile disattivare completamente gli avvisi.

Elementi del canvas

Queste impostazioni servono per il debug del ridisegno degli elementi canvas.

Forme

Shapes are where you can adjust the color of shapes that only appear for debugging purposes, such as collision and navigation shapes.

Remoto nel pannello Scena

Quando si esegue un gioco nell'editor, in alto al pannello Scena compaiono due opzioni: Remoto e Locale. Utilizzando Remoto è possibile ispezionare o modificare i parametri dei nodi nel progetto in esecuzione.

../../../_images/overview_remote.webp

Nota

Alcune impostazioni dell'editor relative al debug si trovano nelle Impostazioni dell'editor, nelle sezioni Rete > Debug e Debugger.