Cloud Debugger è deprecato e verrà chiuso il 31 maggio 2023. Per ulteriori informazioni, consulta la pagina relativa ai ritiri e alle note di rilascio.

Configurazione di Cloud Debugger per .NET Core

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à:

  1. Verifica che l'API Cloud Debugger sia abilitata per il tuo progetto.

  2. Installa e configura Debugger nell'ambiente di calcolo che stai utilizzando.

  3. 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

  1. Cambia il runtime in app.yaml in custom:

    runtime: custom
    env: flex
    
  2. 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:

  1. 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
    
  2. 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 o Frontend.

    • VERSION è la versione dell'applicazione (ad esempio l'ID build). Nella console viene visualizzata l'applicazione in esecuzione come MODULE - VERSION. Esempi: v1.0, build_147 o v20160520.

    • 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:

  1. Nella sezione Pool di nodi, seleziona Sicurezza, quindi seleziona Imposta l'accesso per ogni API.

  2. Abilita Debugger.

    L'API Debugger è abilitata per il cluster.

  3. (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.