Jika breakpoint berubah menjadi lingkaran abu-abu kosong di VS Code pada Mac Anda, debugger tidak dapat mendaftarkannya. Mulailah dengan memeriksa apakah baris tersebut dapat dieksekusi dan apakah debugger yang aktif mendukung berkas tersebut. Kemudian pastikan sesi debug menjalankan kode yang sedang Anda edit. Indikator itu sendiri tidak menunjukkan penyebab pastinya; urutan langkah ini membantu mempersempit kemungkinan tanpa perlu menebak-nebak perbaikan universal. Panduan debugging VS Code menjelaskan tentang lingkaran kosong ini beserta penyebab umumnya.
Pastikan status breakpoint mana yang Anda lihat
Lingkaran merah penuh adalah breakpoint yang aktif; lingkaran abu-abu penuh berarti dinonaktifkan. Lingkaran abu-abu kosong berarti debugger tidak dapat mendaftarkan breakpoint tersebut. Dokumentasi VS Code menyebutkan dua alasan umum: baris tersebut tidak memuat kode yang dapat dieksekusi, atau debugger tidak mendukung berkas sumber tersebut. Breakpoint yang tidak dapat didaftarkan juga dapat tampak kosong saat sesi dimulai; pengeditan kode sumber selama sesi berlangsung tanpa dukungan live-edit dapat menimbulkan indikator yang sama. Perilaku pastinya dapat bervariasi bergantung pada bahasa dan ekstensi debugger yang digunakan.
Di macOS, buka Run and Debug dengan Shift–Command–D. Pada bagian BREAKPOINTS, cari entri yang relevan dan pastikan entri tersebut diaktifkan. Tampilan ini memungkinkan Anda mengelola breakpoint, tetapi tidak menjelaskan secara langsung mengapa debugger menolaknya. Biarkan editor tetap terbuka pada baris yang ditandai agar Anda dapat membandingkan lokasi sumber dengan berkas yang digunakan oleh sesi Anda. VS Code: Debug code
Periksa apakah baris tersebut dapat dieksekusi
Pindahkan breakpoint ke baris yang melakukan suatu tindakan, seperti pernyataan di dalam fungsi, bukan pada baris kosong, komentar, atau kurung kurawal. Breakpoint hanya berguna di tempat debugger dapat menghentikan eksekusi. Jika tanda pengganti berubah menjadi lingkaran merah penuh setelah Anda memulai sesi, baris awal kemungkinan besar memang tidak memuat kode yang dapat dieksekusi. Ini merupakan kesimpulan diagnostik dari perilaku yang terdokumentasi, bukan jaminan mutlak: dukungan dan pengikatan breakpoint bergantung pada debugger dan bahasa yang digunakan.
Jika kode dihasilkan secara otomatis (generated), ditranspilasi, dibundel, atau berbeda dari berkas yang dijalankan program, debugger mungkin memerlukan source map atau konfigurasi khusus bahasa lainnya untuk menghubungkan lokasi di editor dengan kode runtime. Panduan umum VS Code tidak menetapkan satu konfigurasi universal untuk situasi ini. Periksa dokumentasi ekstensi debugger dan konfigurasi build yang Anda gunakan sebelum mengubah pengaturan pemetaan.
Periksa debugger dan sesi yang aktif
VS Code menyertakan dukungan debugging bawaan untuk JavaScript, TypeScript, dan Node.js. Bahasa dan runtime lain umumnya memerlukan ekstensi debugger yang sesuai. Pastikan ekstensi yang relevan telah terinstal dan aktif, lalu mulai sesi untuk bahasa atau runtime yang cocok. Jika VS Code meminta Anda memilih debugger, pilih debugger yang sesuai dengan program yang ingin Anda jalankan. Dokumentasi ekstensi mendefinisikan berkas sumber yang didukung, perilaku breakpoint, dan opsi peluncuran (launch options). VS Code: Debug code
Tekan F5 untuk memulai proses debug, atau gunakan Run and Debug untuk memilih konfigurasi. Program sederhana dapat dijalankan langsung dari berkas yang aktif, tetapi aplikasi dengan titik masuk (entry point), argumen, variabel lingkungan, atau target attach tertentu mungkin memerlukan konfigurasi launch.json. Untuk konfigurasi attach, pastikan proses target sudah berjalan dalam mode debug dan detail koneksinya cocok. Breakpoint yang diletakkan dengan benar di dalam berkas yang berbeda dari sumber program yang dimuat bisa tetap berstatus unverified. VS Code: Configure debugging
Persempit penyebabnya dengan urutan langkah singkat
Gunakan urutan ini, dengan mengubah satu hal pada satu waktu agar hasilnya informatif:
- Di bagian BREAKPOINTS, pastikan breakpoint aktif dan catat berkas serta barisnya.
- Pindahkan ke pernyataan yang dapat dieksekusi di dalam berkas tersebut.
- Mulai konfigurasi debug yang dimaksud dengan menekan F5 dan lihat apakah penanda terdaftar.
- Jika penanda tetap kosong, pastikan debugger yang dipilih mendukung berkas tersebut dan ekstensinya telah terinstal serta aktif.
- Periksa apakah konfigurasi tersebut meluncurkan atau melakukan attach ke program yang dibangun dari sumber yang sedang Anda lihat. Tinjau entry point, direktori kerja, serta tugas build atau pre-launch apa pun yang relevan dengan proyek Anda.
- Jika aplikasi melakukan transformasi terhadap kode sumber, lihat petunjuk debugger bahasa tersebut untuk memetakan berkas editor ke kode runtime.
Pemeriksaan yang berhasil tidak membuktikan bahwa setiap breakpoint dalam sebuah proyek valid; ulangi pemeriksaan pada lokasi sumber tertentu tersebut. Jika debugger melaporkan kesalahan konfigurasi atau registrasi, gunakan pesan tersebut beserta dokumentasi ekstensi untuk memandu perubahan berikutnya. Hindari menyalin pengaturan untuk debugger yang berbeda: VS Code menyatakan bahwa properti dan kemampuan konfigurasi bergantung pada debugger dan jenis permintaan yang dipilih. VS Code: Configure debugging
Hal yang dapat dan tidak dapat ditunjukkan oleh indikator
Lingkaran kosong memberi tahu Anda bahwa debugger belum mendaftarkan breakpoint tersebut. Indikator itu sendiri tidak dapat membedakan antara baris yang tidak dapat dieksekusi, kode sumber yang tidak didukung, ketidakcocokan antara editor dan kode runtime, atau batasan spesifik debugger lainnya. Langkah selanjutnya yang paling berguna adalah menguji baris yang jelas-jelas dapat dieksekusi dalam sesi yang dimaksud, lalu memverifikasi debugger dan pemetaan sumber jika registrasi masih gagal. Di Mac, kontrol utamanya tetap sama, yaitu gutter editor VS Code, tampilan Run and Debug, F5, dan Shift–Command–D; perbaikan khusus untuk debugger harus merujuk pada dokumentasi ekstensi atau runtime terkait.
Sumber
- Debug code with Visual Studio Code — Visual Studio Code
- Configure debugging in Visual Studio Code — Visual Studio Code