Cloud Code untuk VS Code memungkinkan Anda men-debug aplikasi yang di-deploy ke Cloud Run dengan mudah dengan memanfaatkan skaffold debug
. Untuk mengetahui informasi
mendetail tentang proses debug Skaffold, lihat
Melakukan 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 siap digunakan Cloud Code
yang menyertakan file konfigurasi skaffold.yaml
dan file launch.json
berjenis cloudcode.cloudrun
.
Men-debug layanan Cloud Run
Untuk men-debug layanan, ikuti langkah-langkah berikut:
Untuk menjalankan layanan dan melampirkan sesi debugger ke layanan tersebut, buka palette perintah (tekan
Ctrl
/Cmd
+Shift
+P
atau klik View > Command Palette), lalu jalankan perintah Debug on Cloud Run Emulator.Pada dialog Run/Debug on Cloud Run Emulator, tetapkan spesifikasi untuk konfigurasi Anda:
- Pilih Docker atau Buildpack sebagai builder, lalu tentukan Dockerfile atau Buildpack Anda.
- (Opsional) Untuk menentukan target Dockerfile atau argumen build, klik Tampilkan Setelan Build Lanjutan, lalu tentukan target atau argumen.
- (Opsional) Untuk menentukan nama layanan kustom, URL image container, port container, identitas yang akan digunakan layanan, jumlah CPU khusus, atau jumlah memori yang akan dialokasikan ke setiap instance container, klik Tampilkan Setelan Layanan Lanjutan, lalu tentukan nilainya.
- (Opsional) Untuk menentukan variabel lingkungan, klik Tampilkan Setelan Layanan Lanjutan, klik Variabel Lingkungan, lalu tentukan nilainya.
- (Opsional) Untuk menentukan koneksi Cloud SQL, klik Koneksi, lalu tentukan satu koneksi per baris.
- (Opsional) Agar VS Code membuat ulang 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.Untuk mulai men-debug layanan, klik Debug.
Jika diminta, autentikasi kredensial Anda untuk menjalankan dan men-debug aplikasi secara lokal.
Untuk setiap penampung yang dapat di-debug di 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 proses debug penampung.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 dan menyiapkan sesi debug baru. Anda dapat mengaktifkan/menonaktifkan fitur ini dengan flag
watch
di konfigurasi peluncuran project.Untuk menambahkan titik henti sementara, klik di margin editor file yang Anda debug.
Lingkaran isi merah menandakan titik henti sementara aktif dan lingkaran kosong abu-abu menandakan titik henti sementara yang dinonaktifkan.
Untuk kontrol titik henti sementara yang lebih akurat, Anda dapat menggunakan bagian Titik Henti sementara di tampilan Debug VS Code.
Saat Anda mengirim permintaan baru ke layanan, permintaan akan dijeda di baris yang Anda tentukan.
Setelah sesi selesai, klik kanan untuk menggunakan perintah berikut:
- Lihat Log: Membuka log aplikasi deployment tertentu dengan Cloud Code Logs Explorer
- Buka URL: Membuka URL layanan aplikasi dari layanan tertentu di browser web
Jika Anda telah menonaktifkan mode lihat di konfigurasi peluncuran dan ingin membuat perubahan pada aplikasi, serta mem-build ulang dan men-deploy ulang aplikasi, klik status bar Cloud Code, lalu klik Aktifkan mode lihat.
Jika Anda ingin memeriksa variabel dan info stack, gunakan Sidebar Debug. Untuk berinteraksi dengan sesi proses debug, gunakan Debug Console di debugger panel bawah.
Untuk menghentikan deployment, klik tombol Stop di panel tindakan untuk deployment saat ini.
Memecahkan masalah pembuatan penampung
Jika Anda mendapatkan kode error BUILD_DOCKER_UNKNOWN
, ini menunjukkan
masalah pada Docker. Untuk mengatasi masalah ini, lakukan satu atau beberapa tugas
berikut:
Mulai ulang Docker dan coba build container lagi.
Jika Anda masih mendapatkan error yang sama setelah memulai ulang, Docker mungkin kehabisan ruang disk. Untuk mempelajari lebih lanjut cara membersihkan objek yang tidak digunakan di Docker, lihat Memangkas objek Docker yang tidak digunakan.
Coba ekstensi Penggunaan Disk Docker untuk membantu mengklaim kembali ruang.
Detail konfigurasi
Cloud Code menangani detail konfigurasi khusus bahasa berikut:
Node.js
Menulis ulang titik entri untuk memanggil:
node --inspect=localhost:9229
Python
Menginstal modul ptvsd
menggunakan Penampung Init dan menulis ulang
titik entri untuk memanggil:
python -m ptvsd --host localhost --port 5678
Go
Menginstal
debugger dlv
menggunakan Penampung Init dan menulis ulang titik entri sehingga sesi debug
yang diluncurkan berjalan hanya dengan server debug (dalam mode headless), melanjutkan
proses yang di-debug saat memulai, 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 di port 5005 dan memungkinkan VM mulai dieksekusi
sebelum debugger dilampirkan:
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.