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

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

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

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

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

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

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

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

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

    • VERSION è la versione dell'applicazione (ad esempio l'ID build). Nella console di Google Cloud 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 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:

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