Cloud Code per VS Code ti consente di eseguire facilmente il debug di un'applicazione di cui è stato eseguito il deployment in Cloud Run sfruttando skaffold debug
. Per informazioni dettagliate sul debug di Skaffold, consulta Eseguire il debug con Skaffold.
Non è necessario completare la configurazione manuale, ad esempio la configurazione del port forwarding o l'iniezione di argomenti di debug specifici per il linguaggio. Il debug richiede un'skaffold.yaml
applicazione Cloud Run Cloud Code-readylaunch.json
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:
Per eseguire il servizio e collegarvi una sessione di debugger, apri la tavolozza dei comandi (premi
Ctrl
/Cmd
+Shift
+P
o fai clic su Visualizza > Tavolozza comandi) e poi esegui il comando Esegui il 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 un target o gli argomenti di compilazione del Dockerfile, fai clic su Mostra impostazioni di compilazione avanzate e poi specifica il target o gli argomenti.
- (Facoltativo) Per specificare un nome del servizio personalizzato, l'URL dell'immagine del contenitore, la porta del contenitore, l'identità da utilizzare per il servizio, il numero di CPU dedicate o la quantità di memoria da allocare a ogni istanza del contenitore, 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, poi su Variabili di ambiente e 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 e riavvia automaticamente in caso di modifiche.
Se vuoi personalizzare ulteriormente l'esecuzione del servizio, puoi modificare direttamente il file
launch.json
.Per iniziare a eseguire il debug del servizio, fai clic su Debug.
Se richiesto, autentica le tue credenziali per eseguire e eseguire il debug di un'applicazione.
Per ogni contenitore di debug nel servizio, conferma o inserisci la directory nel contenitore remoto in cui si trova il programma da eseguire il debug.
In alternativa, puoi premere
ESC
per saltare il debug di un contenitore.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 il redeployment dell'applicazione e configura una nuova sessione di debug. Puoi attivare/disattivare questa funzionalità con il flag
watch
nella configurazione di lancio del progetto.Per aggiungere un punto di interruzione, fai clic sul margine dell'editor del file di cui 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 di debug di VS Code.
Quando invii una nuova richiesta al servizio, viene messa in pausa nella riga specificata.
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:apri l'URL del servizio di applicazione di un servizio specifico in un browser web
Se hai disattivato la modalità di visualizzazione nella configurazione di lancio e vuoi apportare modifiche all'applicazione, ricrearla ed eseguire nuovamente il deployment, fai clic sulla barra di stato di Cloud Code e poi su Attiva la modalità di visualizzazione.
Se vuoi ispezionare 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 del debugger in basso.
Per interrompere il deployment, fai clic sul pulsante Interrompi nella barra delle azioni del deployment corrente.
Risolvere i problemi di creazione dei contenitori
Se ricevi il codice di errore BUILD_DOCKER_UNKNOWN
, è presente un
problema con Docker. Per risolvere il problema, esegui una o più delle seguenti attività:
Riavvia Docker e riprova a compilare il contenitore.
Se l'errore si ripresenta dopo il riavvio, è possibile che lo spazio su disco di Docker stia per esaurirsi. 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 il linguaggio:
Node.js
Riscrivere l'entry point da chiamare:
node --inspect=localhost:9229
Python
Installazione del modulo ptvsd
utilizzando un contenitore di inizializzazione e riscrittura del punto di contatto da invocare:
python -m ptvsd --host localhost --port 5678
Vai
Installazione del
debugger dlv
utilizzando un contenitore Init e riscrittura dell'entrypoint in modo che la sessione di debugging avviata venga eseguita solo con un server di debug (in modalità headless), continui il
processo sottoposto a 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
Aggiunta di un ambiente JAVA_TOOLS_OPTIONS
con la configurazione appropriata del protocollo JDWP (Java Debug Wire Protocol) in modo che l'agente di debug JDWP ascolti una connessione socket sulla porta 5005 e consenta alla VM di iniziare l'esecuzione prima del collegamento del debugger:
jdwp=transport=dt_socket,server=y,suspend=n,address=5005,quiet=y
.NET
Le applicazioni .NET Core sono configurate per essere dispiaggiate insieme a vsdbg
per VS
Code.
Se riscontri problemi con la configurazione automatica, consulta la sezione Configurazione e impostazione dettagliata del debugger per assistenza nella risoluzione dei problemi.