Dengan Cloud Code, Anda dapat men-debug layanan Cloud Run secara lokal di lingkungan yang mirip Cloud Run. Anda dapat menetapkan titik henti sementara, menelusuri kode, dan men-debug layanan jarak jauh yang berjalan di container.
Cloud Code juga memungkinkan Anda untuk men-debug aplikasi saat membuat perubahan dan melakukan iterasi pada kode sumber.
Menentukan konfigurasi proses debug
Sebelum men-debug layanan, Anda harus membuat konfigurasi proses 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 OK.
Men-debug layanan
Untuk men-debug layanan, ikuti langkah-langkah berikut:
Klik
Debug untuk Cloud Run: Run Locally guna memulai siklus pengembangan dalam
mode proses debug.
Cloud Code melampirkan sesi proses debug. Setelah berhasil, jendela Debug Tool akan terbuka, yang mengonfirmasi koneksi (dalam tab Console).
Klik gutter di baris kode yang dapat dieksekusi tempat Anda ingin menambahkan titik henti sementara.
Lingkaran terisi berwarna merah menunjukkan titik henti sementara aktif, sedangkan lingkaran kosong berwarna merah menunjukkan titik henti sementara yang dinonaktifkan.
Untuk mengakses layanan yang berjalan, klik URL yang ditampilkan di panel Event Log.
Saat Anda melakukannya, permintaan baru akan dikirim ke layanan dan akan dijeda di baris yang ditandai titik henti sementara.

Untuk mengakhiri sesi proses debug, klik ikon berhenti di konfigurasi run Cloud Run: Run Locally.
IDE yang didukung
Tabel berikut mencantumkan bahasa dan IDE yang didukung Cloud Code untuk proses debug. Tabel ini juga mencantumkan plugin yang diperlukan, jika berlaku:
| Bahasa | IDE dan edisi yang didukung | Plugin yang diperlukan |
|---|---|---|
| Java | IntelliJ IDEA Ultimate | T/A |
| IntelliJ IDEA Community | T/A | |
| Go | IntelliJ IDEA Ultimate | Plugin Go |
| GoLand | T/A | |
| Node.js | IntelliJ IDEA Ultimate | Plugin Node.js |
| WebStorm | T/A | |
| Python | IntelliJ IDEA Ultimate | Plugin Python |
| PyCharm Professional | T/A |
Untuk mengetahui informasi selengkapnya tentang dukungan IDE, lihat IDE JetBrains yang Didukung.
Dengan Cloud Code, Anda dapat menetapkan titik henti sementara dan men-debug aplikasi jarak jauh yang berjalan di 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 akan 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 di container. Hal ini memungkinkan debugger Node memproses titik henti sementara dengan benar.
Anda dapat mengonfigurasi hal 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 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 proses debug, Cloud Code akan mencoba menyimpulkan pemetaan ini secara otomatis. Pemetaan yang disimpulkan akan ditampilkan kepada Anda dalam dialog; satu dialog untuk setiap artefak yang Anda debug.

Opsi konfigurasi:
- Jalur lokal - jalur lokal ke root artefak yang Anda debug.
- Jalur jarak jauh - jalur ke file atau direktori yang berjalan di container di Cloud Run. Anda dapat memilih untuk menggantinya dengan nilai Anda sendiri. Jika Anda mengklik Cancel, tidak ada pemetaan yang diterapkan.
Go
Untuk mengonfigurasi aplikasi untuk proses debug, aplikasi Anda harus merupakan aplikasi berbasis
Modul Godan diidentifikasi sebagai berbasis Go dengan menetapkan salah satu
variabel lingkungan runtime Go standar
di container, 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 dibuat dengan opsi
-gcflags='all=-N -l' untuk menonaktifkan pengoptimalan. Profil Skaffold
adalah opsi yang berguna
untuk tujuan ini dan dapat ditetapkan dengan kolom Deployment Profile
di konfigurasi Run pada tab Build/Deploy.
Python
Untuk mengonfigurasi aplikasi untuk proses debug, pastikan Anda memenuhi prasyarat berikut:
IDE, edisi, dan plugin kompatibel
Untuk 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, atau mengarah ke penginstalan Skaffold lokal. Lihat Preferences > Tools > Cloud Code > Dependencies.
Penafsir 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 Proses debug 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 penafsir Python.
Untuk mengetahui informasi selengkapnya, lihat dokumentasi proses debug Skaffold.