Cloud Debugger wurde verworfen und wird am 31. Mai 2023 eingestellt. Weitere Informationen finden Sie auf der Seite Einstellung und in den Versionshinweisen.

Cloud Debugger für .NET Core einrichten

Übersicht

Auf dieser Seite wird beschrieben, wie Sie Ihre Umgebung und Ihre .NET Core-Anwendung für die Verwendung von Cloud Debugger konfigurieren. In einigen Umgebungen müssen Sie, damit der Cloud Debugger-Agent Daten senden kann, den Zugriffsbereich explizit angeben. Es wird empfohlen, den größtmöglichen Zugriffsbereich festzulegen und anschließend den Zugriff mit der Identitäts- und Zugriffsverwaltung einzuschränken. Geben Sie den Zugriffsbereich entsprechend dieser Best Practice für alle Cloud APIs mit der Option cloud-platform an.

Sprachversionen und Computing-Umgebungen

Cloud Debugger ist für .NET Core 1.0 bis 2.1 in den folgenden Rechenumgebungen verfügbar:

App Engine-Standardumgebung Flexible App Engine-Umgebung Compute Engine Google Kubernetes Engine Cloud Run Cloud Run for Anthos Andernorts ausgeführte VMs und Container Cloud Functions

Cloud Debugger einrichten

Führen Sie die folgenden Aufgaben aus, um Cloud Debugger einzurichten:

  1. Prüfen Sie, ob die Cloud Debugger API für Ihr Projekt aktiviert ist.

  2. Installieren und konfigurieren Sie den Debugger in der von Ihnen verwendeten Rechenumgebung.

  3. Wählen Sie den Quellcode aus.

Prüfen, ob die Cloud Debugger API aktiviert ist

Wenn Sie Cloud Debugger verwenden möchten, muss die Cloud Debugger API aktiviert sein. Cloud Debugger ist standardmäßig für die meisten Projekte aktiviert.
Cloud Debugger API aktivieren

App Engine-Standardumgebung

Der Cloud Debugger-Agent für .NET Core wird in der App Engine-Standardumgebung nicht unterstützt.

Flexible App Engine-Umgebung

  1. Ändern Sie die runtime in Ihrer Datei "app.yaml" in custom:

    runtime: custom
    env: flex
    
  2. Verwenden Sie ein benutzerdefiniertes Dockerfile:

    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"]
    

    Wobei:

    • APPLICATION ist das Binärprogramm, das Sie ausführen und debuggen möchten.

Die Operations-Suite von Google Cloud kann jetzt mit Ihrer Anwendung verwendet werden.

Unter Quellcode automatisch auswählen erfahren Sie, wie in der Google Cloud Console auf der Seite „Fehlerbehebung“ automatisch Quellcode angezeigt wird, der mit der bereitgestellten Anwendung übereinstimmt.

Google Kubernetes Engine

GCLOUD

Mit den folgenden Schritten aktivieren Sie Debugger mit gcloud:

  1. Erstellen Sie Ihren Cluster mit einem der folgenden Zugriffsbereiche:

    • https://www.googleapis.com/auth/cloud-platform gewährt Ihrem Cluster Zugriff auf alle Google Cloud APIs.

    • https://www.googleapis.com/auth/cloud_debugger gewährt Ihrem Cluster nur Zugriff auf die Debugger API. Verwenden Sie diesen Zugriffsbereich, um die Sicherheit Ihres Clusters zu härten.

    gcloud container clusters create example-cluster-name \
           --scopes=https://www.googleapis.com/auth/cloud_debugger
    
  2. Fügen Sie die folgenden Zeilen dem Dockerfile hinzu, um den Debugger-Agent zu Ihrer containerisierten Anwendung hinzuzufügen:

    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"]
    

    Wobei:

    • source-context.json ist die JSON-formatierte Datei, die Ihre Quellkontext-Konfiguration enthält. Informationen zum Erstellen dieser Datei finden Sie unter Quellcode automatisch auswählen.

    • MODULE ist der Name der Anwendung. Zusammen mit der Version identifiziert er die Anwendung in der Google Cloud Console. Beispiele: MyApp, Backend oder Frontend.

    • VERSION ist die Version der Anwendung, z. B. die Build-ID. In der Google Cloud Console wird die ausgeführte Anwendung als MODULE - VERSION angezeigt. Beispiele: v1.0, build_147 oder v20160520.

    • CREDENTIALS_FILE ist der Pfad zur JSON-Datei mit den Anmeldedaten des Dienstkontos.

    • APPLICATION ist der Einstiegspunkt zur .NET Core-Anwendung, die mit dem angehängten Debugger ausgeführt wird.

Der Debugger ist jetzt einsatzbereit, wenn Sie Ihre containerisierte Anwendung bereitstellen.

Ausführliche Informationen zum Erstellen eines Clusters finden Sie unter Cluster erstellen.

KONSOLE

So aktivieren Sie Debugger mit der Google Cloud Console:

  1. Wählen Sie im Abschnitt Knotenpools die Option Sicherheit und dann Zugriff für jede API festlegen aus.

  2. Debugger aktivieren

    Die Debugger API ist für den Cluster aktiviert.

  3. Optional: Wählen Sie Uneingeschränkten Zugriff auf alle Cloud-APIs zulassen aus.

Der Debugger ist jetzt bereit für die Verwendung mit Ihrer Anwendung.

Unter Quellcode automatisch auswählen erfahren Sie, wie in der Google Cloud Console auf der Seite „Fehlerbehebung“ automatisch Quellcode angezeigt wird, der mit der bereitgestellten Anwendung übereinstimmt.

Compute Engine

Der Cloud Debugger-Agent für .NET Core wird in der Compute Engine-Umgebung nicht unterstützt.

Lokal

So verwenden Sie die Operations-Suite von Google Cloud beim Ausführen Ihrer Anwendung:

  • Legen Sie fest, dass die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS auf den vollen JSON-Dateipfad des Dienstkontos verweist.
  • Legen Sie für die Umgebungsvariable STACKDRIVER_DEBUGGER_MODULE den Namen der Komponente fest, für die das Debugging ausgeführt wird. Dieser Modulname wird in der Google Cloud Console-Liste der Module angezeigt, die zur Fehlerbehebung zulässig sind.
  • Legen Sie für die Umgebungsvariable STACKDRIVER_DEBUGGER_VERSION die logische Version des Moduls fest, für das das Debugging ausgeführt wird. Dies ermöglicht die Fehlerbehebung für mehrere logische Versionen des Moduls in der Google Cloud Console.
  • Legen Sie die Umgebungsvariable STACKDRIVER_DEBUGGER_DEBUGGER so fest, dass sie auf einen Speicherort der Binärdatei der Operations-Suite von Google Cloud verweist.
  • Bei Ausführung unter Linux legen Sie für die Umgebungsvariable LD_LIBRARY_PATH fest, dass das Verzeichnis der Operations-Suite von Google Cloud eingebunden ist.

Beim Erstellen der .NET Core-Anwendung sollten Sie PDB-Dateien mit Ihrem Code einbinden und bereitstellen. Fügen Sie in jede PDB-Datei die folgenden Zeilen ein:

    <PropertyGroup>
      <TargetFramework>netcoreapp2.1</TargetFramework>
      <DebugType>portable</DebugType>
    </PropertyGroup>

Beachten Sie, dass beim Debuggen für einen Release-Build Variablen möglicherweise falsch benannt werden oder fehlen.