Stackdriver Debugger für .NET Core einrichten

Auf dieser Seite wird gezeigt, wie Sie Ihre Umgebung und Ihre .NET Core-Anwendung für die Verwendung von Stackdriver Debugger konfigurieren. In einigen Umgebungen müssen Sie, damit der Stackdriver Debugger-Agent Daten senden kann, den Zugriffsbereich explizit angeben. Es wird empfohlen, einen möglichst breiten Zugriffsbereich festzulegen und anschließend den Zugriff mit Cloud Identity and Access Management einzuschränken. Geben Sie den Zugriffsbereich entsprechend dieser Best Practice für alle Cloud APIs mit der Option cloud-platform an.

Vorbereitung

  • So verwenden Sie den Stackdriver Debugger, während Sie Ihre Anwendung lokal ausführen:

    • Legen Sie die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS mit den richtigen Anmeldedaten fest.
    • Fügen Sie die Umgebungsvariable STACKDRIVER_DEBUGGER_PROJECT dem Projekt hinzu, für das Stackdriver Debugger ausgeführt werden soll.
  • Achten Sie beim Erstellen der .NET Core-Anwendung darauf, dass Sie PDB-Dateien mit Ihrem Code hinzufügen und bereitstellen. Beispiel:

    ...
    <PropertyGroup>
      <TargetFramework>netcoreapp2.0</TargetFramework>
      <DebugType>portable</DebugType>
    </PropertyGroup>
    ...
    
  • Beachten Sie, dass bei der Fehlerbehebung für einen Release-Build Variablen möglicherweise falsch benannt werden oder fehlen.

App Engine-Standardumgebung

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

    Dabei gilt:

    • APPLICATION ist die Anwendung, die Sie ausführen und debuggen möchten.

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

Zur automatischen Anzeige des Quellcodes der bereitgestellten Anwendung auf der Seite "Fehlerbehebung" der GCP Console finden Sie entsprechende Informationen unter Quellcode automatisch auswählen.

Google Kubernetes Engine

  1. Erstellen Sie Ihren Cluster mit einem der folgenden Zugriffsbereiche:
    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloud_debugger

    So erstellen Sie einen Cluster mit gcloud:

    1. (Optional) Aktualisieren Sie gcloud auf die neueste Version:
      gcloud components update
    2. Legen Sie Ihre standardmäßige Projekt-ID fest:
      gcloud config set project [PROJECT_ID]
    3. Wenn Sie mit zonalen Clustern arbeiten, legen Sie Ihre standardmäßige Compute-Zone fest:
      gcloud config set compute/zone [COMPUTE_ZONE]
    4. Wenn Sie mit regionalen Clustern arbeiten, legen Sie Ihre standardmäßige Compute-Region fest:
      gcloud config set compute/region [COMPUTE_REGION]
    5. Führen Sie den Befehl zum Erstellen aus:
      gcloud container clusters create example-cluster-name --scopes https://www.googleapis.com/auth/cloud-platform

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

  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 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 running locally uncomment and set the following:
    # ENV STACKDRIVER_DEBUGGER_PROJECT=PROJECT_ID
    # ENV GOOGLE_APPLICATION_CREDENTIALS=CREDENTIALS_FILE
    ENTRYPOINT ["/usr/share/dotnet-debugger/start-debugger.sh", "dotnet", "APPLICATION.dll"]
    

    Dabei gilt:

    • MODULE ist der Name der Anwendung. Damit wird in Verbindung mit der Version die Anwendung in der GCP Console identifiziert. Beispiele: MyApp, Backend oder Frontend.
    • VERSION ist die Version der Anwendung, z. B. die Build-ID. In der GCP Console wird die ausgeführte Anwendung in der Form MODULE - VERSION angezeigt. Beispiele: v1.0, build_147 oder v20160520.
    • PROJECT_ID ist die Projekt-ID der GCP Console.
    • CREDENTIALS_FILE ist der Pfad zum Dienstkonto oder zur JSON-Datei für Anmeldedaten.
    • APPLICATION ist der Einstiegspunkt zur Anwendung.

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

Zur automatischen Anzeige des Quellcodes der bereitgestellten Anwendung auf der Seite "Fehlerbehebung" der GCP Console finden Sie entsprechende Informationen unter Quellcode automatisch auswählen.

Compute Engine

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

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Stackdriver Debugger-Dokumentation