Stackdriver Debugger für Go einrichten

Auf dieser Seite wird gezeigt, wie Sie Ihre Umgebung und Ihre Go-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, den größtmöglichen 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.

App Engine-Standardumgebung

Der Stackdriver Debugger-Agent für Go wird in der App Engine-Standardumgebung noch nicht unterstützt.

Flexible App Engine-Umgebung

Der Stackdriver Debugger-Agent für Go wird in der flexiblen App Engine-Umgebung noch nicht unterstützt.

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. Folgen Sie der Anleitung für Compute Engine.

Compute Engine

  1. Überprüfen Sie, ob Ihre Compute Engine-VM-Instanzen ein 64-Bit-Debian-Linux-Image ausführen.

  2. Stellen Sie sicher, dass Ihre Compute Engine-VM-Instanzen mit der Zugriffsbereichsoption Vollen Zugriff auf alle Cloud-APIs zulassen eingerichtet sind oder einen der folgenden Zugriffsbereiche haben:

    • https://www.googleapis.com/auth/cloud-platform
    • https://www.googleapis.com/auth/cloud_debugger
  3. Die aktuellen Optimierungen des Go-Compilers beeinträchtigen das genaue Debugging. Stackdriver Debugger zeigt daher falsche Informationen zu Ihrer Anwendung an, wenn diese mit den standardmäßigen Go-Compiler-Optimierungen erstellt wird.

    Erstellen Sie Ihre Anwendung ohne die Standardoptimierungen, um die richtigen Debuginformationen zu erhalten. Die folgenden Beispielbefehle zeigen, wie Sie Optimierungen bei Verwendung von Go ab Version 1.10 deaktivieren können:

    go build -gcflags=all='-N -l'
    

    Der vorangehende Wert gcflags enthält -N, um Optimierungen zu deaktivieren, und -l, um das Einfügen zu deaktivieren.

  4. Laden Sie den Debugger-Agent herunter.

    Der Stackdriver Debugger-Agent ist ein kompaktes Binärprogramm, das Sie beim Start Ihrer Anwendung aktivieren. Der Agent wird gemeinsam mit Ihrer Anwendung gestartet und kommuniziert während ihrer Ausführung mit dem Back-End von Stackdriver Debugger.

    Nachdem Sie Ihre Compute Engine-Anwendung erstellt und bereitgestellt haben, laden Sie den Debugger-Agent herunter und installieren ihn:

    go get -u cloud.google.com/go/cmd/go-cloud-debug-agent
    
  5. Starten Sie den Agent und Ihr Programm:

    go-cloud-debug-agent -sourcecontext=[PATH_TO_FILE] -appmodule=[APP_NAME] \
                     -appversion=[APP_VERSION] -- [PATH_TO_BINARY] [ARG1] [ARG2]
    

    Dabei gilt:

    • PATH_TO_FILE gibt den relativen Pfad zur JSON-formatierten Datei an, der Ihre Quellkontext-Konfiguration enthält. Informationen zum Erstellen dieser Datei finden Sie unter Quellcode automatisch auswählen.

    • APP_NAME ist der Name Ihrer Anwendung oder Ihres Dienstes. Zusammen mit der Version identifiziert dieser Name Ihre Anwendung in der GCP Console.

    • APP_VERSION ist eine von der Anwendung bereitgestellte Versionsmarkierung. Sie könnten beispielsweise eine Build-Nummer verwenden. In der GCP Console wird die ausgeführte Version als module - version angezeigt. Beispiel: main - 1.0

    • PATH_TO_BINARY gibt den Pfad zum Binärprogramm Ihrer Anwendung an.

    • ARG1 und ARG2 sind Platzhalter für beliebige zusätzliche Argumente, die Ihre Anwendung erfordert.

    Beispiel:

    go-cloud-debug-agent -appmodule=main -appversion=1.0 -- bin/my-app my-arg
    

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

Unter Quellcode automatisch auswählen erfahren Sie, wie in der Cloud Platform Console automatisch die Dateien angezeigt werden, die dem Quellcode entsprechen.

Lokal und an anderer Stelle

Der Stackdriver Debugger-Agent für Go wird nur in der Kubernetes Engine- und der Compute Engine-Umgebung unterstützt. Lokale oder andere Umgebungen werden nicht unterstützt.

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

Feedback geben zu...

Stackdriver Debugger-Dokumentation