Con Cloud Code puoi eseguire il debug dei servizi Cloud Run in locale in un ambiente simile a Cloud Run. Puoi impostare punti di interruzione, eseguire il codice passo passo ed eseguire il debug dei servizi remoti in esecuzione nei container.
Cloud Code ti consente anche di eseguire il debug di un'applicazione mentre apporti modifiche al codice sorgente e lo iteri.
Definire la configurazione di debug
Prima di eseguire il debug del servizio, devi creare la configurazione di debug:
- Vai al selettore di configurazione Esegui/Esegui debug nella barra di navigazione e fai clic su Modifica configurazioni.
- Scegli Cloud Run: esegui in locale in Cloud Code: Cloud Run.
- Fai clic su OK.
Eseguire il debug del servizio
Per eseguire il debug del servizio:
Fai clic su
Esegui debug per Cloud Run: esegui in locale per avviare il ciclo di sviluppo in
modalità di debug.
Cloud Code allegherà una sessione di debug. Al termine, si apre la finestra dello strumento di debug, che conferma la connessione (nella scheda Console).
Fai clic sul margine sulla riga eseguibile del codice in cui vuoi aggiungere un punto di interruzione.
I cerchi rossi pieni indicano i punti di interruzione attivi, mentre i cerchi vuoti con contorno rosso indicano i punti di interruzione disattivati.
Per accedere al servizio in esecuzione, fai clic sull'URL visualizzato nel riquadro del log degli eventi.
Quando lo fai, viene inviata una nuova richiesta al servizio e si mette in pausa sulla riga contrassegnata dal punto di interruzione.

Per terminare la sessione di debug, fai clic sull'icona di arresto nella configurazione di esecuzione Cloud Run: esegui in locale.
IDE supportati
La tabella seguente elenca le lingue e gli IDE supportati da Cloud Code per il debug. La tabella elenca anche i plug-in richiesti, ove applicabile:
| Lingua | IDE e versioni supportati | Plug-in richiesto |
|---|---|---|
| Java | IntelliJ IDEA Ultimate | N/D |
| IntelliJ IDEA Community | N/D | |
| Vai | IntelliJ IDEA Ultimate | Plug-in Go |
| GoLand | N/D | |
| Node.js | IntelliJ IDEA Ultimate | Plug-in Node.js |
| WebStorm | N/D | |
| Python | IntelliJ IDEA Ultimate | Plug-in Python |
| PyCharm Professional | N/D |
Per ulteriori informazioni sul supporto IDE, vedi IDE JetBrains supportati.
Con Cloud Code puoi impostare punti di interruzione ed eseguire il debug delle applicazioni remote in esecuzione nei container per le seguenti lingue:
Java
Cloud Code aggiunge automaticamente una variabile di ambiente, JAVA_TOOL_OPTIONS, con la configurazione JDWP appropriata per abilitare il debug. Se JAVA_TOOL_OPTIONS è già presente, Cloud Code utilizza le impostazioni esistenti specificate in JAVA_TOOL_OPTIONS.
Node.js
A seconda della struttura dell'applicazione e della configurazione di creazione dell'immagine, potrebbe essere necessario aiutare il debugger a mappare le origini locali alle origini remote nel container. In questo modo, il debugger Node può elaborare correttamente i punti di interruzione.
Puoi configurare questa opzione in uno dei seguenti modi:
Configurazione manuale
Seleziona la configurazione di esecuzione Cloud Run: esegui in locale dal menu a discesa e poi fai clic su Modifica configurazioni. Nella scheda Debug, configura la mappatura dell'origine dall'origine dell'applicazione locale alla posizione dell'origine nel container remoto.

Opzioni di configurazione:
- File/directory : il file o la directory locale dell'applicazione in esecuzione su Cloud Run.
- Percorso remoto : il percorso del file o della directory in esecuzione nel container su Cloud Run.
Configurazione automatica
Puoi scegliere di rimandare questa mappatura a Cloud Code. Quando avvii la sessione di debug, Cloud Code tenta di dedurre automaticamente questa mappatura. La mappatura dedotta viene presentata in una finestra di dialogo; una finestra di dialogo per ogni artefatto di cui stai eseguendo il debug.

Opzioni di configurazione:
- Percorso locale : il percorso locale della radice dell'artefatto di cui stai eseguendo il debug.
- Percorso remoto : il percorso del file o della directory in esecuzione nel container su Cloud Run. Puoi scegliere di sostituire questo valore con il tuo. Se fai clic su Annulla, non viene applicata alcuna mappatura.
Vai
Per configurare l'applicazione per il debug, l'app deve essere basata su un
modulo Goe deve essere identificata come basata su Go impostando una delle
variabili di ambiente di runtime Go standard
nel container, ad esempio GODEBUG, GOGC, GOMAXPROCS, o
GOTRACEBACK. GOTRACEBACK=single è l'impostazione predefinita per Go e GOTRACEBACK=all è una configurazione generalmente utile.
Facoltativamente (ma consigliato), l'app deve essere creata con le
-gcflags='all=-N -l' opzioni per disattivare le ottimizzazioni. I profili Skaffold
sono un'opzione utile
a questo scopo e possono essere impostati con il campo Profilo di deployment
nella configurazione di esecuzione nella scheda Crea/Esegui deployment.
Python
Per configurare l'applicazione per il debug, assicurati di soddisfare i seguenti prerequisiti:
IDE, versione e plug-in sono compatibili
Per gli IDE, le versioni e i plug-in compatibili, vedi IDE supportati.
La versione di Skaffold è 1.25.0 o successiva
Puoi consentire a Cloud Code di gestire le dipendenze, o fare riferimento a un'installazione locale di Skaffold. Vedi Preferenze > Strumenti > Cloud Code > Dipendenze.
L'interprete Python è configurato
Se non è configurato un interprete Python nel progetto, il debug non funzionerà, poiché non è possibile eseguire
pydevd, il debugger Python sottostante.IDE Modalità di configurazione IntelliJ IDEA Il debug di Python con Cloud Code richiede la configurazione di un SDK Python per il progetto.
Vai a File > Struttura progetto e aggiungi un SDK Python nella scheda Progetto. Se non ne esiste uno, aggiungilo nella scheda SDK.PyCharm Vai a File > Impostazioni > Progetto > Interprete Python o per Mac OS X, PyCharm > Preferenze > Progetto > Interprete Python e aggiungi un interprete Python.
Per ulteriori informazioni, consulta la documentazione di debug di Skaffold.