Men-debug layanan yang berjalan secara lokal di Cloud Code for IntelliJ
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Dengan Cloud Code, Anda dapat men-debug layanan Cloud Run secara lokal di lingkungan yang mirip Cloud Run. Anda dapat menyetel titik henti sementara, menelusuri kode, dan men-debug layanan jarak jauh yang berjalan di container.
Sebelum men-debug layanan, Anda harus membuat konfigurasi debug:
Buka pemilih konfigurasi Run/Debug di Navigation bar, lalu klik Edit Configurations.
Pilih Cloud Run: Run Locally di bagian Cloud Code: Cloud Run.
Klik Oke.
Men-debug layanan Anda
Untuk men-debug layanan, ikuti langkah-langkah berikut:
Klik Debug untuk Cloud Run: Run Locally guna memulai siklus pengembangan dalam
mode debug.
Cloud Code akan melampirkan sesi debug. Setelah berhasil, jendela Alat Debug akan terbuka, yang mengonfirmasi koneksi (dalam tab Konsol).
Klik gutter pada baris kode yang dapat dieksekusi tempat Anda ingin menambahkan titik henti sementara.
Lingkaran merah yang terisi menunjukkan titik henti sementara aktif, sedangkan lingkaran
berongga yang dibatasi merah menandakan titik henti sementara dinonaktifkan.
Untuk mengakses layanan yang sedang berjalan, klik URL yang ditampilkan di panel Log Peristiwa.
Saat Anda melakukannya, permintaan baru akan dikirim ke layanan Anda dan akan dijeda di baris yang ditandai titik henti sementara.
Untuk mengakhiri sesi pen-debug-an, klik ikon berhenti di
konfigurasi eksekusi Cloud Run: Run Locally.
IDE yang didukung
Tabel berikut mencantumkan bahasa dan IDE yang didukung Cloud Code untuk
pen-debug-an. Tabel ini juga mencantumkan plugin yang diperlukan, jika ada:
Dengan Cloud Code, Anda dapat menyetel titik henti sementara dan
men-debug aplikasi jarak jauh yang berjalan dalam container untuk bahasa berikut:
Java
Cloud Code otomatis menambahkan variabel lingkungan,
JAVA_TOOL_OPTIONS, dengan konfigurasi JDWP yang sesuai untuk
mengaktifkan proses debug. Jika JAVA_TOOL_OPTIONS sudah ada, Cloud Code menggunakan setelan yang ada yang ditentukan dalam JAVA_TOOL_OPTIONS.
Node.js
Bergantung pada struktur aplikasi dan konfigurasi build image-nya, Anda mungkin harus membantu debugger memetakan sumber lokal ke sumber jarak jauh dalam container. Hal ini memungkinkan debugger Node memproses titik henti sementara Anda dengan benar.
Anda dapat mengonfigurasi ini dengan salah satu cara berikut:
Konfigurasi manual
Pilih Konfigurasi Run Cloud Run: Run Locally dari dropdown, lalu klik Edit Configurations. Di tab Debug, konfigurasi
pemetaan sumber dari sumber aplikasi lokal Anda ke lokasi sumber
di container jarak jauh.
Opsi konfigurasi:
File/direktori - file atau direktori lokal aplikasi Anda yang
berjalan di Cloud Run.
Jalur jarak jauh - jalur ke file atau direktori yang berjalan di
container di Cloud Run.
Konfigurasi otomatis
Anda dapat memilih untuk menunda pemetaan ini ke Cloud Code. Saat Anda
memulai sesi debug, Cloud Code akan mencoba menyimpulkan
pemetaan ini secara otomatis. Pemetaan yang disimpulkan ditampilkan kepada Anda dalam dialog; satu dialog untuk setiap artefak yang Anda debug.
Opsi konfigurasi:
Jalur lokal - jalur lokal ke root artefak yang
sedang Anda debug.
Jalur jarak jauh - jalur ke file atau direktori yang berjalan di
container di Cloud Run. Anda dapat memilih untuk
mengganti nilai ini dengan nilai Anda sendiri. Jika Anda mengklik
Batal, tidak ada pemetaan yang diterapkan.
Go
Untuk mengonfigurasi aplikasi Anda untuk proses debug, aplikasi Anda harus berupa aplikasi berbasis Go Module dan diidentifikasi sebagai berbasis Go dengan menyetel salah satu variabel lingkungan runtime Go standar di penampung, seperti GODEBUG, GOGC, GOMAXPROCS, atau GOTRACEBACK. GOTRACEBACK=single adalah setelan default untuk Go
dan GOTRACEBACK=all adalah konfigurasi yang umumnya berguna.
Secara opsional (tetapi direkomendasikan), aplikasi Anda harus dibangun dengan opsi -gcflags='all=-N -l' untuk menonaktifkan pengoptimalan. Profil Skaffold adalah opsi yang berguna untuk tujuan ini dan dapat disetel dengan kolom Deployment Profile di konfigurasi Run pada tab Build/Deploy.
Python
Untuk mengonfigurasi aplikasi Anda untuk proses debug, pastikan Anda memenuhi prasyarat berikut:
IDE, edisi, dan plugin kompatibel
Untuk mengetahui IDE, edisi, dan plugin yang kompatibel, lihat
IDE yang didukung.
Versi Skaffold adalah 1.25.0 atau yang lebih baru
Anda dapat mengizinkan Cloud Code untuk mengelola dependensi Anda,
atau mengarah ke penginstalan Skaffold lokal. Lihat Preferences > Tools >
Cloud Code > Dependencies.
Interpreter Python dikonfigurasi
Tanpa penafsir Python yang dikonfigurasi di project Anda, proses debug tidak akan berfungsi karena tidak ada cara untuk menjalankan pydevd, debugger Python yang mendasarinya.
IDE
Cara mengonfigurasi
IntelliJ IDEA
Pen-debug-an Python dengan Cloud Code memerlukan
Python SDK yang dikonfigurasi untuk project Anda.
Buka File
> Project Structure dan tambahkan Python SDK di tab Project. Jika tidak ada, tambahkan satu di tab SDK.
PyCharm
Buka File > Settings > Project > Python Interpreter atau
untuk Mac OS X, PyCharm > Preferences > Project > Python
Interpreter, lalu tambahkan interpreter Python.
Untuk mengirimkan masukan atau melaporkan masalah di IDE IntelliJ, buka
Tools > Cloud Code > Help / About > Submit
feedback or report an issue untuk melaporkan masalah di GitHub.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 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)."]]