Dengan Cloud Code, Anda dapat men-debug layanan Cloud Run secara lokal di lingkungan mirip Cloud Run. Anda dapat menyetel titik henti sementara, memeriksa kode, dan men-debug layanan jarak jauh yang berjalan di container.
Cloud Code juga memungkinkan Anda men-debug aplikasi sambil melakukan perubahan pada, dan melakukan iterasi pada, kode sumber.
Menentukan konfigurasi debug
Sebelum men-debug layanan, Anda harus membuat konfigurasi debug:
- Buka pemilih konfigurasi Run/Debug di Menu navigasi, lalu klik Edit Configurations.
- Pilih Cloud Run: Run Locally di bagian Cloud Code: Cloud Run.
- Klik OK.
Men-debug layanan Anda
Untuk men-debug layanan Anda, ikuti langkah-langkah berikut:
Klik Debug untuk Cloud Run: Run Locally untuk memulai siklus pengembangan dalam mode debug.
Cloud Code akan melampirkan sesi debug. Setelah berhasil, jendela Alat Debug akan terbuka, mengonfirmasi koneksi (dalam tab Konsol).
Klik gutter di baris kode yang dapat dieksekusi tempat Anda ingin menambahkan titik henti sementara.
Lingkaran berwarna merah menunjukkan titik henti sementara aktif, sedangkan lingkaran berongga bergaris merah menunjukkan titik henti sementara yang 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 proses debug, klik ikon berhenti di konfigurasi Cloud Run: Run Locally run.
IDE yang Didukung
Tabel berikut mencantumkan bahasa dan IDE yang didukung Cloud Code untuk proses debug. Tabel ini juga mencantumkan plugin yang diperlukan, jika ada:
Pemodelan bahasa | IDE dan edisi yang didukung | Plugin yang diperlukan |
---|---|---|
Java | IntelliJ IDEA Ultimate | T/A |
Komunitas IntelliJ IDEA | 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 |
Profesional PyCharm | T/A |
Untuk 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 secara 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 di JAVA_TOOL_OPTIONS
.
Node.js
Bergantung pada struktur aplikasi dan konfigurasi build gambarnya, Anda mungkin harus membantu debugger memetakan sumber lokal ke sumber jarak jauh dalam penampung. Dengan begitu, debugger Node dapat memproses titik henti sementara dengan benar.
Anda dapat mengonfigurasi ini dengan salah satu cara berikut:
Konfigurasi manual
Pilih Cloud Run: Run Locally Run Configuration dari menu dropdown, lalu klik Edit Configurations. Pada tab Debug, konfigurasikan pemetaan sumber dari sumber aplikasi lokal ke lokasi sumber di penampung jarak jauh.
Opsi konfigurasi:
- File/direktori - file lokal atau direktori 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 di-debug.
Opsi konfigurasi:
- Jalur lokal - jalur lokal ke root artefak yang sedang Anda proses 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 Batal, tidak ada pemetaan yang akan diterapkan.
Go
Guna mengonfigurasi aplikasi untuk proses debug, aplikasi Anda harus merupakan
aplikasi berbasis Modul Go
dan diidentifikasi berbasis Go dengan menetapkan salah satu
variabel lingkungan runtime Go standar
dalam penampung, seperti GODEBUG
, GOGC
, GOMAXPROCS
, atau
GOTRACEBACK
. GOTRACEBACK=single
adalah setelan default untuk Go
dan GOTRACEBACK=all
adalah konfigurasi yang berguna secara umum.
Secara opsional (tetapi direkomendasikan), aplikasi Anda harus di-build dengan
opsi -gcflags='all=-N -l'
untuk menonaktifkan pengoptimalan. Profiles
Skaffold adalah opsi yang berguna
untuk tujuan ini dan dapat disetel dengan kolom Deployment Profile
dalam konfigurasi Run pada tab Build/Deploy.
Python
Guna 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 mengarahkan ke penginstalan Skaffold lokal. Lihat Preferensi > Alat > Cloud Code > Dependensi.
Penafsir Python dikonfigurasi
Tanpa penafsir Python yang dikonfigurasi dalam project Anda, proses debug tidak akan berfungsi, karena tidak ada cara untuk menjalankan
pydevd
, yaitu debugger Python yang mendasarinya.IDE Cara mengonfigurasi IDE IntelliJ Proses debug Python dengan Cloud Code mengharuskan Python SDK dikonfigurasi untuk project Anda.
Buka File > Project Structure, lalu tambahkan Python SDK di tab Project. Jika belum ada, tambahkan 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 debug Skaffold.