Men-debug layanan Cloud Run dalam Cloud Code untuk VS Code

Cloud Code untuk VS Code memudahkan Anda men-debug aplikasi yang di-deploy ke Cloud Run dengan memanfaatkan skaffold debug. Untuk informasi mendetail tentang proses debug Skaffold, lihat Proses debug dengan Skaffold.

Anda tidak perlu menyelesaikan penyiapan manual seperti menyiapkan penerusan port atau memasukkan argumen debug khusus bahasa. Proses debug memerlukan aplikasi Cloud Run yang mendukung Cloud Code dan menyertakan file konfigurasi skaffold.yaml dan file launch.json jenis cloudcode.cloudrun.

Men-debug layanan Cloud Run Anda

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

  1. Untuk menjalankan layanan dan melampirkan sesi debugger ke layanan tersebut, buka palet perintah (tekan Ctrl/Cmd+Shift+P atau klik View > Command Palette), lalu jalankan perintah Debug on Cloud Run Emulator.

  2. Pada dialog Run/Debug di Cloud Run Emulator, tetapkan spesifikasi untuk konfigurasi Anda:

    • Pilih Docker atau Buildpacks sebagai builder, lalu tentukan Dockerfile atau Buildpack Anda.
    • (Opsional) Untuk menentukan target atau argumen build Dockerfile, klik Show Advanced Build Settings, lalu tentukan target atau argumennya.
    • (Opsional) Untuk menentukan nama layanan kustom, URL image container, port container, identitas yang akan digunakan oleh layanan, jumlah CPU khusus, atau jumlah memori yang akan dialokasikan ke setiap instance container, klik Show Advanced Service Settings, lalu tentukan nilainya.
    • (Opsional) Untuk menentukan variabel lingkungan, klik Show Advanced Service Settings, klik Environment Variables, lalu tentukan nilainya.
    • (Opsional) Untuk menentukan koneksi Cloud SQL, klik Connections, lalu tentukan satu koneksi per baris.
    • (Opsional) Agar VS Code mengaktifkan kembali sesi proses debug setelah Anda menyimpan perubahan pada kode, centang kotak Automatically re-build and re-run on changes.

    Jika ingin menyesuaikan lebih lanjut cara layanan dijalankan, Anda dapat mengedit file launch.json secara langsung.

  3. Untuk mulai men-debug layanan, klik Debug.

  4. Jika diminta, autentikasi kredensial Anda untuk menjalankan dan men-debug aplikasi secara lokal.

  5. Untuk setiap penampung yang dapat di-debug dalam layanan Anda, konfirmasi atau masukkan direktori di penampung jarak jauh tempat program yang ingin Anda debug ditemukan.

    Atau, Anda dapat menekan ESC untuk melewati proses debug container.

    Dialog Root Jarak Jauh

    Cloud Code melampirkan sesi debug untuk setiap penampung yang dapat di-debug dalam layanan.

    Secara default, saat Anda menyimpan perubahan pada aplikasi, Cloud Code akan men-deploy ulang aplikasi Anda dan menyiapkan sesi debug baru. Anda dapat mengalihkan fitur ini dengan flag watch dalam konfigurasi peluncuran project.

  6. Untuk menambahkan titik henti sementara, klik margin editor file yang sedang Anda debug.

    Lingkaran berwarna merah menandakan titik henti sementara aktif dan lingkaran berongga abu-abu menandakan titik henti sementara yang dinonaktifkan.

    Untuk kontrol titik henti sementara yang lebih baik, Anda dapat menggunakan bagian Breakpoints dalam tampilan Debug VS Code.

    Bagian titik henti sementara di panel kiri Debug View yang memungkinkan penambahan, penghapusan, dan penonaktifan titik henti sementara

    Saat Anda mengirim permintaan baru ke layanan, permintaan tersebut akan dijeda di baris yang Anda tentukan.

  7. Setelah sesi Anda selesai, klik kanan untuk menggunakan perintah berikut:

    • Lihat Log: Buka log aplikasi dari deployment tertentu dengan Cloud Code Logs Explorer
    • Open URL: Membuka URL layanan aplikasi dari layanan tertentu di browser web
  8. Jika Anda telah menonaktifkan mode smartwatch dalam konfigurasi peluncuran dan ingin melakukan perubahan pada aplikasi serta mem-build ulang dan men-deploy ulang aplikasi, klik status bar Cloud Code, lalu klik Turn on watch mode.

  9. Jika Anda ingin memeriksa variabel dan info tumpukan, gunakan Sidebar Debug. Untuk berinteraksi dengan sesi proses debug, gunakan Konsol Debug di debugger panel bawah.

  10. Untuk menghentikan deployment Anda, klik tombol Stop di panel tindakan untuk deployment Anda saat ini.

    Panel tindakan untuk deployment Cloud Run

Detail konfigurasi

Cloud Code menangani detail konfigurasi khusus bahasa berikut:

Node.js

Menulis ulang titik entri yang akan dipanggil:

node --inspect=localhost:9229

Python

Menginstal modul ptvsd menggunakan Init Container dan menulis ulang titik entri untuk dipanggil:

python -m ptvsd --host localhost --port 5678

Go

Menginstal debugger dlv menggunakan Penampung Init dan menulis ulang titik entri sehingga sesi debug yang diluncurkan hanya berjalan dengan server debug (dalam mode headless), melanjutkan proses yang di-debug saat dimulai, menerima beberapa koneksi klien, dan memproses di localhost:56268:

dlv exec --headless --continue --accept-multiclient --listen=localhost:56268 --api-version=2, <app> --

Java

Menambahkan lingkungan JAVA_TOOLS_OPTIONS dengan konfigurasi Java Debug Wire Protocol (JDWP) yang sesuai sehingga agen proses debug JDWP memproses koneksi soket pada port 5005 dan memungkinkan VM untuk mulai mengeksekusi sebelum debugger dipasang:

jdwp=transport=dt_socket,server=y,suspend=n,address=5005,quiet=y

.NET

Aplikasi .NET Core dikonfigurasi untuk di-deploy bersama dengan vsdbg untuk VS Code.

Jika Anda mengalami masalah dengan konfigurasi otomatis, lihat Konfigurasi dan penyiapan debugger mendetail untuk mendapatkan bantuan pemecahan masalah.

Dapatkan Dukungan

Untuk mengirim masukan, laporkan masalah di GitHub, atau ajukan pertanyaan di Stack Overflow.