Cloud Code for VS Code ti consente di eseguire facilmente il debug di un'applicazione di cui è stato eseguito il deployment su
Cloud Run sfruttando
skaffold debug. Per informazioni dettagliate
sul debug di Skaffold, vedi
Debug con Skaffold.
Non è necessario completare la configurazione manuale, ad esempio la configurazione del port forwarding o
l'inserimento di argomenti di debug specifici per la lingua. Il debug richiede un'applicazione Cloud Run pronta per Cloud Code che includa un file di configurazione skaffold.yaml e un file launch.json di tipo cloudcode.cloudrun.
Eseguire il debug del servizio Cloud Run
Per eseguire il debug del servizio, segui questi passaggi:
Per eseguire il servizio e collegarvi una sessione di debug, apri la tavolozza dei comandi (premi
Ctrl/Cmd+Shift+Po fai clic su Visualizza > Tavolozza comandi) e poi esegui il comando Debug nell'emulatore Cloud Run.Nella finestra di dialogo Esegui/Esegui il debug nell'emulatore Cloud Run, imposta le specifiche per la configurazione:
- Scegli Docker o Buildpacks come builder, quindi specifica il Dockerfile o il buildpack.
- (Facoltativo) Per specificare una destinazione Dockerfile o argomenti di build, fai clic su Mostra impostazioni di build avanzate e poi specifica la destinazione o gli argomenti.
- (Facoltativo) Per specificare un nome di servizio personalizzato, l'URL dell'immagine container, la porta container, l'identità da utilizzare per il servizio, il numero di CPU dedicate o la quantità di memoria da allocare a ogni istanza container, fai clic su Mostra impostazioni avanzate del servizio e poi specifica i valori.
- (Facoltativo) Per specificare eventuali variabili di ambiente, fai clic su Mostra impostazioni avanzate del servizio, fai clic su Variabili di ambiente e poi specifica i valori.
- (Facoltativo) Per specificare le connessioni Cloud SQL, fai clic su Connessioni e poi specifica una connessione per riga.
- (Facoltativo) Per fare in modo che VS Code ristabilisca una sessione di debug dopo aver salvato una modifica al codice, seleziona la casella di controllo Ricompila ed esegui di nuovo automaticamente in caso di modifiche.
Se vuoi personalizzare ulteriormente l'esecuzione del servizio, puoi modificare il file
launch.jsondirettamente.Per iniziare il debug del servizio, fai clic su Debug.
Se richiesto, autentica le tue credenziali per eseguire e debugare un'applicazione in locale.
Per ogni contenitore di cui è possibile eseguire il debug nel tuo servizio, conferma o inserisci la directory nel contenitore remoto in cui si trova il programma di cui vuoi eseguire il debug.
In alternativa, puoi premere
ESCper saltare il debug di un container.
Cloud Code collega una sessione di debug per ogni contenitore di cui è possibile eseguire il debug nel servizio.
Per impostazione predefinita, quando salvi una modifica all'applicazione, Cloud Code esegue nuovamente il deployment dell'applicazione e configura una nuova sessione di debug. Puoi attivare/disattivare questa funzionalità con il flag
watchnella configurazione di avvio del progetto.Per aggiungere un punto di interruzione, fai clic sul margine dell'editor del file che stai eseguendo il debug.
I cerchi rossi pieni indicano i punti di interruzione attivi, mentre i cerchi grigi vuoti indicano i punti di interruzione disattivati.
Per un controllo più preciso dei punti di interruzione, puoi utilizzare la sezione Punti di interruzione nella visualizzazione Debug di VS Code.
Quando invii una nuova richiesta al servizio, la riproduzione si interrompe alla riga che hai specificato.
Al termine della sessione, fai clic con il tasto destro del mouse per utilizzare i seguenti comandi:
- Visualizza log:apri i log dell'applicazione di un deployment specifico con Esplora log di Cloud Code
- Apri URL:apre l'URL del servizio dell'applicazione di un servizio specifico in un browser web
Se hai disattivato la modalità di osservazione nella configurazione di avvio e vuoi apportare modifiche all'applicazione, ricompilarla ed eseguirne nuovamente il deployment, fai clic sulla barra di stato di Cloud Code e poi su Attiva modalità di osservazione.
Se vuoi esaminare le variabili e le informazioni sullo stack, utilizza la barra laterale di debug. Per interagire con la sessione di debug, utilizza la console di debug nel riquadro inferiore del debugger.
Per interrompere la distribuzione, fai clic sul pulsante Interrompi nella barra delle azioni per la distribuzione corrente.

Risolvere i problemi di creazione dei container
Se ricevi il codice di errore BUILD_DOCKER_UNKNOWN, significa che si è verificato un problema con Docker. Per risolvere il problema, esegui una o più delle seguenti
attività:
Riavvia Docker e prova a creare di nuovo il container.
Se l'errore persiste anche dopo il riavvio, è possibile che Docker stia esaurendo lo spazio su disco. Per scoprire di più sulla pulizia degli oggetti inutilizzati in Docker, consulta Eliminare gli oggetti Docker inutilizzati.
Prova l'estensione Utilizzo del disco di Docker per recuperare spazio.
Dettagli configurazione
Cloud Code gestisce i seguenti dettagli di configurazione specifici per la lingua:
Node.js
Riscrivere l'entry point per richiamare:
node --inspect=localhost:9229
Python
Installazione del modulo ptvsd utilizzando un contenitore init e riscrivendo il
punto di ingresso per richiamare:
python -m ptvsd --host localhost --port 5678
Go
Installazione del
debugger dlv
utilizzando un contenitore di inizializzazione e riscrivendo il punto di ingresso in modo che la sessione di debug avviata venga eseguita solo con un server di debug (in modalità headless), continui il processo di cui è stato eseguito il debug all'avvio, accetti più connessioni client e ascolti su
localhost:56268:
dlv exec --headless --continue --accept-multiclient --listen=localhost:56268 --api-version=2, <app> --
Java
Aggiungendo un ambiente JAVA_TOOLS_OPTIONS con la configurazione Java Debug
Wire Protocol (JDWP) appropriata in modo che l'agente di debug JDWP ascolti
una connessione socket sulla porta 5005 e consenta alla VM di iniziare l'esecuzione
prima che il debugger venga collegato:
jdwp=transport=dt_socket,server=y,suspend=n,address=5005,quiet=y
.NET
Le applicazioni .NET Core sono configurate per essere sottoposte a deployment insieme a vsdbg per VS
Code.
Se riscontri problemi con la configurazione automatica, consulta la sezione Configurazione e impostazione dettagliate del debugger per assistenza nella risoluzione dei problemi.