Lokal ausgeführten Dienst in Cloud Code for IntelliJ debuggen
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Mit Cloud Code können Sie Fehler in Cloud Run-Service lokal in einer Cloud Run-ähnlichen Umgebung beheben. Sie können Haltepunkte festlegen, Ihren Code durcharbeiten und Fehler in Remote-Services beheben, die in Containern ausgeführt werden.
Bevor Sie Ihren Service debuggen, müssen Sie Ihre Fehlerbehebungskonfiguration erstellen:
Rufen Sie in der Navigationsleiste die Konfigurationsauswahl Run/Debug auf und klicken Sie auf Edit Configurations.
Wählen Sie Cloud Run: Run Locally unter Cloud Code: Cloud Run.
Klicken Sie auf OK.
Fehler in Ihrem Dienst beheben
So beheben Sie Fehler in Ihrer Dienst:
Klicken Sie für Cloud Run: Run Locally auf Debug, um den Entwicklungszyklus im Debug-Modus zu starten.
Cloud Code hängt dann eine Debug-Sitzung an. Nach Abschluss des Vorgangs wird das Fenster mit dem Debugging-Tool geöffnet und die Verbindung bestätigt (auf dem Tab "Console").
Klicken Sie auf den Bundsteg bei der ausführbaren Zeile des Codes, bei der Sie einen Haltepunkt hinzufügen möchten.
Klicken Sie auf die URL, die im Steuerfeld "Ereignisprotokoll" angezeigt wird, um auf den ausgeführten Service zuzugreifen.
In diesem Fall wird eine neue Anfrage an Ihren Service gesendet und an der als Ausfall markierten Zeile angehalten.
Zum Beenden der Fehlerbehebungssitzung klicken Sie auf das Stoppsymbol in der Cloud Run: Konfiguration lokal ausführen.
Unterstützte IDEs
In der folgenden Tabelle sind die Sprachen und IDEs aufgeführt, die von Cloud Code für das Debugging unterstützt werden. In der Tabelle sind gegebenenfalls auch die erforderlichen Plug-ins aufgeführt:
Mit Cloud Code können Sie Haltepunkte festlegen und Fehler in Remote-Anwendungen beheben, die in Containern für die folgenden Sprachen ausgeführt werden:
Java
Cloud Code fügt automatisch die Umgebungsvariable JAVA_TOOL_OPTIONS mit der entsprechenden JDWP-Konfiguration hinzu, um die Fehlerbehebung zu aktivieren. Wenn JAVA_TOOL_OPTIONS bereits vorhanden ist, verwendet Cloud Code die in JAVA_TOOL_OPTIONS angegebenen Einstellungen.
Node.js
Je nach Struktur Ihrer Anwendung und ihrer Image-Build-Konfiguration müssen Sie möglicherweise helfen, dass der Debugger Ihre lokalen Quellen den Remotequellen im Container zuordnet. Dadurch kann der Node.txt-Debugger Ihre Haltepunkte ordnungsgemäß verarbeiten.
Dies kann auf eine der folgenden Arten geschehen:
Manuelle Konfiguration
Wählen Sie im Drop-down-Menü Cloud Run: Run locally die Konfiguration aus und klicken Sie dann auf Konfigurationen bearbeiten. Konfigurieren Sie im Tab Debugging die Quellzuordnung von Ihrer lokalen Anwendungsquelle zum Quellspeicherort im Remote-Container.
Konfigurationsoptionen:
Datei/Verzeichnis: die lokale Datei oder das lokale Verzeichnis Ihrer Anwendung, die in Cloud Run ausgeführt wird.
Remote Path: der Pfad zur Datei oder dem Verzeichnis, die im Container in Cloud Run ausgeführt wird.
Automatische Konfiguration
Sie können diese Zuordnung zu Cloud Code aufheben. Wenn Sie die Fehlerbehebungssitzung starten, versucht Cloud Code, diese Zuordnung automatisch abzuleiten. Die abgeleitete Zuordnung wird Ihnen in einem Dialogfeld angezeigt. Ein Dialogfeld für jedes Artefakt, das Sie debuggen.
Konfigurationsoptionen:
Lokaler Pfad: der lokale Pfad zum Stammverzeichnis des Artefakts, für das Sie eine Fehlerbehebung durchführen
Remote Path: der Pfad zur Datei oder dem Verzeichnis, die im Container in Cloud Run ausgeführt wird. Sie können diese Einstellung mit einem eigenen Wert überschreiben. Wenn Sie auf Abbrechen klicken, wird keine Zuordnung angewendet.
Go
Um Ihre Anwendung für die Fehlerbehebung zu konfigurieren, muss Ihre Anwendung eine auf dem Go-Modul basierende Anwendung sein und als Go-basiert identifiziert werden, indem Sie eine der Standard-Umgebungsvariablen der Go-Laufzeit im Container einstellen, z. B. GODEBUG, GOGC, GOMAXPROCS oder GOTRACEBACK. GOTRACEBACK=single ist die Standardeinstellung für Go und GOTRACEBACK=all eine allgemeine nützliche Konfiguration.
Optional (aber empfohlen) sollte Ihre Anwendung mit den -gcflags='all=-N -l'-Optionen erstellt werden, um Optimierungen zu deaktivieren. Skaffold-Profile sind für diesen Zweck nützlich und können in Ihrer Ausführungskonfiguration auf dem Tab Build/Bereitstellen mit dem Feld Bereitstellungsprofil festgelegt werden.
Python
Um Ihre Anwendung für das Debugging zu konfigurieren, müssen die folgenden Voraussetzungen erfüllt sein:
IDE, Edition und Plug-in sind kompatibel
Kompatible IDEs, Versionen und Plug-ins finden Sie unter Unterstützte IDEs.
Skaffold-Version ist 1.25.0 oder höher
Sie können Cloud Code die Verwaltung Ihrer Abhängigkeiten erlauben oder auf eine lokale Skaffold-Installation verweisen. Weitere Informationen finden Sie unter Einstellungen > Tools > Cloud Code > Abhängigkeiten.
Python-Interpreter ist konfiguriert
Ohne einen in Ihrem Projekt konfigurierten Python-Interpreter funktioniert das Debugging nicht, da es keine Möglichkeit gibt, pydevd, den zugrunde liegenden Python-Debugger, auszuführen.
IDE
Konfiguration
IntelliJ IDEA
Für die Python-Fehlerbehebung mit Cloud Code muss ein Python-SDK für Ihr Projekt konfiguriert sein.
Rufen Sie Datei > Projektstruktur auf und fügen Sie auf dem Tab Projekt ein Python SDK hinzu. Falls keine vorhanden sind, fügen Sie auf dem Tab SDK eines hinzu.
PyCharm
Wählen Sie unter Datei > Einstellungen > Projekt > Python-Interpreter oder für Mac OS X PyCharm > Einstellungen > Projekt > Python-Interpreter einen Python-Interpreter aus.
So senden Sie Feedback oder melden ein Problem in Ihrer IntelliJ-IDE: Tools > Cloud Code > Hilfe / Info > Feedback geben oder Problem melden, um ein Problem auf GitHub zu melden.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-11 (UTC)."],[[["\u003cp\u003eCloud Code allows local debugging of Cloud Run services in a Cloud Run-like environment, enabling users to set breakpoints, step through code, and debug remote services running in containers.\u003c/p\u003e\n"],["\u003cp\u003eDebugging a service requires creating a debug configuration by selecting "Cloud Run: Run Locally" under "Cloud Code: Cloud Run" in the Run/Debug configurations.\u003c/p\u003e\n"],["\u003cp\u003eCloud Code supports debugging for Java, Go, Node.js, and Python, with specific IDEs and plugin requirements detailed for each language.\u003c/p\u003e\n"],["\u003cp\u003eNode.js debugging may require manual or automatic source mapping to align local and remote sources, while Go applications need to be Go Module-based and may benefit from specific build options.\u003c/p\u003e\n"],["\u003cp\u003ePython debugging requires a Python SDK configured within your project's IDE, and it also requires a skaffold version of 1.25.0 or greater.\u003c/p\u003e\n"]]],[],null,["# Debug a locally running service in Cloud Code for IntelliJ\n\n| **Note:** Debugging support is currently available for Java, Go, Node.js, and Python services.\n\nWith Cloud Code, you can debug your Cloud Run services\nlocally in a Cloud Run-like environment. You can set breakpoints, step through\nyour code, and debug remote services running in containers.\n\nCloud Code also enables you to [debug an application while making\nchanges to, and iterating on, source code](/code/docs/intellij/watch-modes#applying-changes-while-debugging).\n\nDefining your debug configuration\n---------------------------------\n\nBefore you debug your service, you must create your debug configuration:\n\n1. Navigate to **Run/Debug** configuration selector in the Navigation bar and click **Edit Configurations**.\n2. Choose **Cloud Run: Run Locally** under **Cloud Code: Cloud Run**.\n3. Click **OK**.\n\nDebugging your service\n----------------------\n\nTo debug your service, follow these steps:\n\n1. Click\n **Debug** for **Cloud Run: Run Locally** to start the development cycle in\n debug mode.\n\n2. Cloud Code will attach a debug session. Once successful, the Debug Tool\n window opens, confirming connection (within the Console tab).\n\n3. Click the gutter at the executable line of the code where you want to\n add a breakpoint.\n\n Red filled circles denote active breakpoints, while red-outlined hollow\n circles signify disabled breakpoints.\n4. To access your running service, click the URL displayed in your Event Log panel.\n\n When you do, a new request is sent to your service and it pauses at the\n breakpoint-marked line.\n\n5. To end the debugging session, click the stop icon on the\n Cloud Run: Run Locally run configuration.\n\nSupported IDEs\n--------------\n\nThe following table lists the languages and IDEs that Cloud Code supports for\ndebugging. The table also lists the required plugins, where applicable:\n\nFor more information about IDE support, see\n[Supported JetBrains IDEs](/code/docs/intellij/ides).\n\nWith Cloud Code, you can set breakpoints and\ndebug remote applications running in containers for the following languages: \n\n### Java\n\nCloud Code automatically adds an environment variable,\n`JAVA_TOOL_OPTIONS`, with the appropriate JDWP configuration to\nenable debugging. If `JAVA_TOOL_OPTIONS` is already present,\nCloud Code uses existing settings specified in\n`JAVA_TOOL_OPTIONS`.\n\n### Node.js\n\nDepending on the structure of your application and its image build\nconfiguration, you might have to help the debugger map your local sources\nto the remote sources in the container. This enables the Node debugger\nto correctly process your breakpoints.\n\nYou can configure this in one of the following ways:\n\n- **Manual configuration**\n\n Select the **Cloud Run: Run Locally** Run Configuration from the dropdown\n and then click **Edit Configurations** . On the **Debug** tab, configure the\n source mapping from your local application source to the source\n location in the remote container.\n\n Configuration options:\n - **File/directory** - the local file or directory of your application running on Cloud Run.\n - **Remote path** - the path to the file or directory running in the container on Cloud Run.\n- **Automatic configuration**\n\n You can choose to defer this mapping to Cloud Code. When you\n start your debug session, Cloud Code attempts to infer\n this mapping automatically. The inferred mapping is presented to you in a\n dialog; one dialog for each artifact you are debugging.\n\n Configuration options:\n - **Local path** - the local path to the root of the artifact you are debugging.\n - **Remote path** - the path to the file or directory running in the container on Cloud Run. You can choose to override this with your own value. If you click **Cancel**, no mapping is applied.\n\n | **Note:** Automatic mapping is a best effort guess based on heuristics.\n\n### Go\n\nTo configure your application for debugging, your app must be a\n[Go Module](https://blog.golang.org/using-go-modules)-based application\nand be identified as being Go-based by setting one of the\n[standard Go runtime environment variables](https://godoc.org/runtime)\nin the container, such as `GODEBUG`, `GOGC`, `GOMAXPROCS`, or\n`GOTRACEBACK`. `GOTRACEBACK=single` is the default setting for Go\nand `GOTRACEBACK=all` is a generally useful configuration.\n\nOptionally (but recommended), your app should be built with the\n`-gcflags='all=-N -l'` options to disable optimizations. Skaffold\n[Profiles](https://skaffold.dev/docs/environment/profiles/) are a useful\noption for this purpose and can be set with the **Deployment Profile**\nfield in your Run configuration on the **Build/Deploy** tab.\n\n### Python\n\nTo configure your application for debugging, ensure you meet the following\nprerequisites:\n\n- **IDE, edition, and plugin are compatible**\n\n For compatible IDEs, editions, and plugins, see\n [Supported IDEs](#supported_ides).\n- **Skaffold version is 1.25.0 or greater**\n\n You can allow Cloud Code to [manage your dependencies](/code/docs/intellij/install#managed_dependencies),\n or point to a local Skaffold installation. See **Preferences \\\u003e Tools \\\u003e\n Cloud Code \\\u003e Dependencies**.\n- **Python interpreter is configured**\n\n Without a Python interpreter configured in your project,\n debugging won't work, as there is no way to run `pydevd`, the\n underlying Python debugger.\n\n \u003cbr /\u003e\n\n \u003cbr /\u003e\n\nFor more information, see the [Skaffold debug\ndocumentation](https://skaffold.dev/docs/workflows/debug/).\n\nGet support\n-----------\n\nTo submit feedback or report an issue in your IntelliJ IDE, go to **Tools** \\\u003e **Cloud Code** \\\u003e **Help / About** \\\u003e **Submit\nfeedback or report an issue** to report an issue on [GitHub](https://github.com/GoogleCloudPlatform/cloud-code-intellij/issues)."]]