Panoramica
In questa pagina viene spiegato come configurare il tuo 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 linea con questa best practice, imposta l'ambito di accesso su tutte le API Cloud
con l'opzione cloud-platform
.
Versioni linguistiche degli 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 Debugger nell'ambiente di calcolo che stai utilizzando.
Seleziona il tuo codice sorgente.
Verifica dell'abilitazione dell'API Cloud Debugger
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
Utilizza 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 mostri automaticamente il codice sorgente corrispondente all'applicazione di cui è stato eseguito il deployment, consulta la sezione Selezionare automaticamente il codice sorgente.
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 di 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 seguenti righe al tuo
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. Per informazioni sulla generazione di questo file, consulta la sezione Selezionare automaticamente il codice sorgente.MODULE
è il nome dell'applicazione. Insieme alla versione, identifica l'applicazione nella console. Esempi:MyApp
,Backend
oFrontend
.VERSION
è la versione dell'applicazione (ad esempio l'ID build). Nella console 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 che è in esecuzione con Debugger collegato.
Il debugger è ora pronto per l'utilizzo quando esegui il deployment della tua app containerizzata.
Per informazioni più dettagliate sulla creazione di un cluster, consulta la sezione Creare un cluster.
CONSOLE
Per abilitare Debugger utilizzando Google Cloud Console, procedi nel seguente modo:
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 Cloud.
Il debugger è ora pronto per l'utilizzo con l'applicazione.
Per fare in modo che la pagina Debug nella console mostri automaticamente il codice sorgente corrispondente all'applicazione di cui è stato eseguito il deployment, consulta la sezione Selezionare automaticamente il codice sorgente.
Compute Engine
L'agente Cloud Debugger per .NET Core non è supportato nell'ambiente Compute Engine.
Locale
Per utilizzare la suite operativa di Google Cloud durante l'esecuzione in locale della tua applicazione:
- 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
STACKDRIVER_DEBUGGER_MODULE
dell'ambiente sul nome del componente di cui eseguire il debug. Il nome di questo modulo verrà visualizzato nell'elenco della console dei moduli di cui è possibile eseguire il debug. - Imposta la variabile di ambiente
STACKDRIVER_DEBUGGER_VERSION
sulla versione logica del modulo di cui eseguire il debug. Ciò consente di eseguire il debug di più versioni logiche del modulo nella 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 seguenti righe in ogni file PDB:
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<DebugType>portable</DebugType>
</PropertyGroup>
Tieni presente che quando esegui il debug di una build di Release
, le variabili potrebbero avere un nome errato o mancante.