Panoramica
In questa pagina viene descritto come configurare l'ambiente e la tua applicazione .NET Core per utilizzare Cloud Debugger.
Per alcuni ambienti devi specificare esplicitamente l'ambito di accesso per consentire all'agente Cloud Debugger di inviare i dati.
Ti consigliamo di impostare l'ambito di accesso più ampio possibile e quindi utilizzare Identity and Access Management per limitare l'accesso.
In base a questa best practice, imposta l'ambito di accesso su tutte le API Cloud con l'opzione cloud-platform
.
Versioni linguistiche e ambienti di calcolo
Cloud Debugger è disponibile per .NET Core da 1.0 a 2.1 nei seguenti ambienti di calcolo:
Ambiente standard di App Engine | Ambiente flessibile di App Engine | Compute Engine | Google Kubernetes Engine | Cloud Run | Cloud Run for Anthos | VM e container in esecuzione altrove | Cloud Functions |
---|---|---|---|---|---|---|---|
Configurazione di Cloud Debugger
Per configurare Cloud Debugger, completa le seguenti attività:
Verifica che l'API Cloud Debugger sia abilitata per il tuo progetto.
Installa e configura il debugger nell'ambiente di calcolo che stai utilizzando.
Seleziona il codice sorgente.
La verifica dell'API Cloud Debugger è abilitata
Per iniziare a utilizzare Cloud Debugger, assicurati che l'API Cloud Debugger sia abilitata. Cloud Debugger è abilitato per impostazione predefinita per la maggior parte dei progetti.Abilita l'API Cloud Debugger
Ambiente standard di App Engine
L'agente Cloud Debugger per .NET Core non è supportato nell'ambiente standard di App Engine.
Ambiente flessibile di App Engine
Cambia il
runtime
in app.yaml incustom
:runtime: custom env: flex
Utilizzare un Dockerfile personalizzato:
FROM gcr.io/dotnet-debugger/aspnetcore:2.0 COPY . /app WORKDIR /app # If you don't have source context delete the below line. # See 'Selecting source code automatically' below for more information. COPY ./source-context.json /usr/share/dotnet-debugger/agent/ ENTRYPOINT ["/usr/share/dotnet-debugger/start-debugger.sh", "dotnet", "APPLICATION.dll"]
Dove:
APPLICATION
è il programma binario che vuoi eseguire ed eseguire il debug.
La suite operativa di Google Cloud è ora pronta per essere utilizzata con la tua applicazione.
Per fare in modo che la pagina Debug nella console Google Cloud mostri automaticamente il codice sorgente corrispondente all'applicazione di cui è stato eseguito il deployment, consulta la sezione Selezionare il codice sorgente automaticamente.
Google Kubernetes Engine
GCLOUD
Per attivare Debugger utilizzando gcloud
, completa i seguenti passaggi:
Crea il cluster con uno dei seguenti ambiti di accesso:
https://www.googleapis.com/auth/cloud-platform
concede al cluster l'accesso a tutte le API Google Cloud.https://www.googleapis.com/auth/cloud_debugger
concede al cluster l'accesso solo all'API Debugger. Utilizza questo ambito di accesso per proteggere la sicurezza del tuo cluster.
gcloud container clusters create example-cluster-name \ --scopes=https://www.googleapis.com/auth/cloud_debugger
Aggiungi le righe seguenti a
Dockerfile
per aggiungere l'agente Debugger all'app containerizzata:FROM gcr.io/dotnet-debugger/aspnetcore:2.0 COPY . /app WORKDIR /app # If you don't have the source-context.json file, delete the `COPY` line below. # See running locally below for more information. COPY ./source-context.json /usr/share/dotnet-debugger/agent/ ENV STACKDRIVER_DEBUGGER_MODULE=MODULE ENV STACKDRIVER_DEBUGGER_VERSION=VERSION # If not running on Google Cloud, uncomment and set the following: # ENV GOOGLE_APPLICATION_CREDENTIALS=CREDENTIALS_FILE ENTRYPOINT ["/usr/share/dotnet-debugger/start-debugger.sh", "dotnet", "APPLICATION.dll"]
Dove:
source-context.json
è il file in formato JSON contenente la configurazione del contesto di origine. Consulta Selezione automatica del codice sorgente per informazioni sulla generazione di questo file.MODULE
è il nome dell'applicazione. Insieme alla versione, identifica l'applicazione nella console Google Cloud. Esempi:MyApp
,Backend
oFrontend
.VERSION
è la versione dell'applicazione (ad esempio l'ID build). Nella console di Google Cloud viene visualizzata l'applicazione in esecuzione comeMODULE - VERSION
. Esempi:v1.0
,build_147
ov20160520
.CREDENTIALS_FILE
è il percorso del file JSON delle credenziali dell'account di servizio.APPLICATION
è il punto di accesso all'applicazione .NET Core in esecuzione con Debugger allegato.
Il debugger è ora pronto per l'uso durante il deployment dell'app containerizzata.
Per informazioni più dettagliate sulla creazione di un cluster, consulta la sezione Creazione di un cluster.
CONSOLE
Per attivare Debugger utilizzando Google Cloud Console, completa i seguenti passaggi:
Nella sezione Pool di nodi, seleziona Sicurezza, quindi seleziona Imposta l'accesso per ogni API.
Abilita Debugger.
(Facoltativo) Seleziona Consenti l'accesso completo a tutte le API di Cloud.
Il debugger è ora pronto per essere utilizzato con la tua applicazione.
Per fare in modo che la pagina Debug nella console Google Cloud mostri automaticamente il codice sorgente corrispondente all'applicazione di cui è stato eseguito il deployment, consulta la sezione Selezionare il codice sorgente automaticamente.
Compute Engine
L'agente Cloud Debugger per .NET Core non è supportato nell'ambiente Compute Engine.
Locale
Per utilizzare la suite operativa di Google Cloud mentre esegui la tua applicazione in locale:
- Imposta la variabile di ambiente
GOOGLE_APPLICATION_CREDENTIALS
in modo che rimandi al percorso completo del file json dell'account di servizio. - Imposta la variabile di ambiente
STACKDRIVER_DEBUGGER_MODULE
sul nome del componente di cui eseguire il debug. Il nome di questo modulo verrà visualizzato nell'elenco dei moduli Google Cloud Console di cui è possibile eseguire il debug. - Imposta la variabile di ambiente
STACKDRIVER_DEBUGGER_VERSION
sulla versione logica del modulo di cui viene eseguito il debug. Ciò consente di eseguire il debug di più versioni logiche del modulo in Google Cloud Console. - Imposta la variabile di ambiente
STACKDRIVER_DEBUGGER_DEBUGGER
in modo che punti a una posizione del programma binario della suite operativa di Google Cloud. - Se è in esecuzione su Linux, imposta la variabile di ambiente
LD_LIBRARY_PATH
in modo da includere la directory della suite operativa di Google Cloud.
Quando crei l'applicazione .NET Core, includi ed esegui il deployment di file PDB con il tuo codice. Includi le righe seguenti in ogni file PDB:
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<DebugType>portable</DebugType>
</PropertyGroup>
Tieni presente che, quando si esegue il debug di una build Release
, le variabili potrebbero essere indicate con il nome errato o mancanti.