Men-debug layanan yang berjalan secara lokal di Cloud Code for IntelliJ

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.

Cloud Code juga memungkinkan Anda men-debug aplikasi sambil membuat perubahan pada, dan melakukan iterasi pada, kode sumber.

Menentukan konfigurasi debug

Sebelum men-debug layanan, Anda harus membuat konfigurasi debug:

  1. Buka pemilih konfigurasi Run/Debug di Navigation bar, lalu klik Edit Configurations.
  2. Pilih Cloud Run: Run Locally di bagian Cloud Code: Cloud Run.
  3. Klik Oke.

Men-debug layanan Anda

Untuk men-debug layanan, ikuti langkah-langkah berikut:

  1. Klik ikon tindakan debug Debug untuk Cloud Run: Run Locally guna memulai siklus pengembangan dalam mode debug.

    Mengklik jalankan di Cloud Run: Jalankan Secara Lokal dalam mode debug

  2. Cloud Code akan melampirkan sesi debug. Setelah berhasil, jendela Alat Debug akan terbuka, yang mengonfirmasi koneksi (dalam tab Konsol).

  3. 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.

  4. 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.

    Log peristiwa dengan notifikasi deployment yang berhasil dan URL untuk melihat pratinjau layanan Anda

  5. 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:

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
PyCharm Professional T/A

Untuk mengetahui informasi selengkapnya tentang dukungan IDE, lihat IDE JetBrains yang didukung.

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.

    Memilih lokasi sumber di bagian pemetaan sumber pada tab Debug

    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.

    Dialog pemetaan jalur jarak jauh untuk setiap artefak yang menentukan jalur jarak jauh yang digunakan

    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 mengetahui informasi selengkapnya, lihat dokumentasi debug Skaffold.

Mendapatkan dukungan

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.