Debug di un servizio Cloud Run in Cloud Code for VS Code

Cloud Code for VS Code ti consente di eseguire facilmente il debug di un'applicazione di cui è stato eseguito il deployment Cloud Run skaffold debug Per dettagli informazioni sul debug di Skaffold, consulta Debug con Skaffold.

Non è necessario completare la configurazione manuale, ad esempio impostare il port forwarding o inserire argomenti di debug specifici per ogni linguaggio. Il debug richiede Applicazione Cloud Run predisposta per Cloud Code che include un file di configurazione skaffold.yaml e un file launch.json di digita cloudcode.cloudrun.

Esegui il debug del tuo servizio Cloud Run

Per eseguire il debug del servizio, segui questi passaggi:

  1. Per eseguire il tuo servizio e collegare una sessione di debugger, apri la tavolozza dei comandi (premi Ctrl/Cmd+Shift+P o fai clic su Visualizza > Tavolozza dei comandi) quindi esegui il comando Debug on Cloud Run Emulator.

  2. Nella finestra di dialogo Esegui/Debug sull'emulatore Cloud Run, imposta la specifiche per la tua configurazione:

    • Scegli Docker o Buildpacks come builder e specifica Dockerfile o Buildpack.
    • (Facoltativo) Per specificare una destinazione o gli argomenti di build del Dockerfile: fai clic su Mostra impostazioni build avanzate e specifica il target argomenti.
    • (Facoltativo) Per specificare un nome di servizio personalizzato, l'URL dell'immagine container, porta del container, identità del servizio da utilizzare, numero di CPU dedicate di memoria da allocare a ciascuna istanza di container, fai clic Mostra impostazioni avanzate del servizio e specifica i valori.
    • (Facoltativo) Per specificare qualsiasi variabili di ambiente, fai clic su Mostra impostazioni avanzate del servizio, su Variabili di ambiente. e specificare i valori.
    • (Facoltativo) Per specificare le connessioni Cloud SQL, fai clic su Connessioni. e specificare una connessione per riga.
    • (Facoltativo) Per fare in modo che VS Code ristabilisca una sessione di debug dopo aver salvato un modifica al codice, controlla Casella di controllo Ricrea ed esegui automaticamente alle modifiche.

    Per personalizzare ulteriormente l'esecuzione del servizio, puoi modificare il tuo launch.json file strato Add.

  3. Per iniziare il debug del servizio, fai clic su Debug.

  4. Se richiesto, autentica le credenziali per eseguire ed eseguire il debug di un dell'applicazione in locale.

  5. Per ogni container di cui è possibile eseguire il debug nel servizio, conferma o inserisci la directory nel container remoto in cui è stato trovato il programma di cui eseguire il debug.

    In alternativa, puoi premere ESC per saltare il debug di un contenitore.

    Prompt radice remota

    Cloud Code collega una sessione di debug per ogni elemento di cui è possibile eseguire il debug container nel servizio.

    Per impostazione predefinita, quando salvi una modifica dell'applicazione Cloud Code esegue nuovamente il deployment dell'applicazione e configura un nuovo debug durante la sessione. Puoi attivare/disattivare questa funzionalità con il flag watch nella barra degli indirizzi avvia la configurazione.

  6. Per aggiungere un punto di interruzione, fai clic sul margine dell'editor del file di cui stai eseguendo il debug.

    I cerchi pieni rossi indicano punti di interruzione attivi e cerchi vuoti grigi indicano i punti di interruzione disattivati.

    Per un controllo più preciso dei punti di interruzione, puoi utilizzare la sezione Punti di interruzione Vista Debug del codice.

    Sezione Punti di interruzione nel riquadro a sinistra di Vista di debug che consente di aggiungere, rimuovere e disattivare i punti di interruzione

    Quando invii una nuova richiesta al tuo servizio, questo si interrompe in corrispondenza della riga specificato.

  7. Al termine della sessione, fai clic con il tasto destro del mouse per utilizzare i seguenti comandi:

    • Visualizza i log: apri i log dell'applicazione di uno specifico il deployment con Esplora log di Cloud Code
    • Apri URL: consente di aprire l'URL del servizio delle applicazioni di uno specifico in un browser web
  8. Se hai disattivato la modalità orologio nella configurazione di avvio e vuoi modificare l'applicazione, ricrearla e eseguirne nuovamente il deployment, fai clic sulla barra di stato di Cloud Code e quindi su Attiva la modalità orologio.

  9. Se vuoi esaminare variabili e impilare le informazioni, utilizza la classe Barra laterale di debug. Per interagire con la sessione di debug, utilizza la funzione Console di debug nel debugger del riquadro inferiore.

  10. Per arrestare il deployment, fai clic sul pulsante Arresta nella barra delle azioni per il tuo deployment attuale.

    Barra delle azioni per il deployment di Cloud Run

Risolvere i problemi di creazione di container

Se visualizzi il codice di errore BUILD_DOCKER_UNKNOWN, significa che è con Docker. Per risolvere il problema, esegui una o più delle seguenti operazioni: attività:

  • Riavvia Docker e prova di nuovo a creare il container.

  • Se l'errore persiste dopo il riavvio, è possibile che Docker spazio su disco in esaurimento. Per scoprire di più sulla pulizia degli oggetti inutilizzati in Docker, consulta Eliminare gli oggetti Docker inutilizzati.

  • Prova l'utilizzo del disco di Docker per contribuire a recuperare spazio.

Dettagli configurazione

Cloud Code gestisce la seguente configurazione specifica per il linguaggio dettagli:

Node.js

Riscrittura del punto di ingresso da richiamare:

node --inspect=localhost:9229

Python

Installazione del modulo ptvsd tramite un container di inizializzazione e riscrittura del punto di ingresso da richiamare:

python -m ptvsd --host localhost --port 5678

Vai

L'installazione del Debugger dlv utilizzando un container di inizializzazione e riscrivendo il punto di ingresso in modo la sessione di debug viene eseguita solo con un server di debug (in modalità headless), continua sottoposto a debug all'avvio, accetta più connessioni client e rimane in ascolto localhost:56268:

dlv exec --headless --continue --accept-multiclient --listen=localhost:56268 --api-version=2, <app> --

Java

Aggiunta di un ambiente JAVA_TOOLS_OPTIONS con il debug Java appropriato configurazione JDWP (Wire Protocol) in modo che l'agente di debug JDWP ascolti per una connessione socket sulla porta 5005 e consente alla VM di iniziare l'esecuzione prima del collegamento del debugger:

jdwp=transport=dt_socket,server=y,suspend=n,address=5005,quiet=y

.NET

È configurato il deployment delle applicazioni .NET Core insieme a vsdbg per VS Codice.

In caso di problemi con la configurazione automatica, consulta Configurazione e impostazione del debugger dettagliate per ricevere assistenza sulla risoluzione dei problemi.

Richiedi assistenza

Per inviare feedback, segnala problemi su GitHub o fai una domanda Stack Overflow.