Lompat ke konten Lompat ke sidebar Lompat ke footer

Debuging NODE JS

Oke Hello Guys selamat datang kembali yah kali ini syaa akn memberikan guide mengenai cara debuging dengan node js kalian silahkan membaca yah guys karena ini sangat dibutuhkan dan semoga sangat bermanfaat yah , jangan lupa di share yah guys.


    Panduan Debugging Panduan ini akan membantu Anda mulai men-debug aplikasi dan skrip Node.js Anda. Aktifkan Inspektur Saat dimulai dengan sakelar --inspect, proses Node.js mendengarkan klien debugging. Secara default, ini akan mendengarkan di host dan port 127.0.0.1:9229. Setiap proses juga diberi UUID unik. Klien pemeriksa harus mengetahui dan menentukan alamat host, port, dan UUID untuk terhubung. URL lengkap akan terlihat seperti ws: //127.0.0.1: 9229 / 0f2c936f-b1cd-4ac9-aab3-f63b0f33d55e. Node.js juga akan mulai mendengarkan pesan debug jika menerima sinyal SIGUSR1. (SIGUSR1 tidak tersedia di Windows.) Di Node.js 7 dan sebelumnya, ini mengaktifkan API Debugger lama. Di Node.js 8 dan yang lebih baru, ini akan mengaktifkan API Inspektur. Implikasi Keamanan Karena debugger memiliki akses penuh ke lingkungan eksekusi Node.js, aktor jahat yang dapat terhubung ke port ini mungkin dapat mengeksekusi kode arbitrer atas nama proses Node.js. Penting untuk memahami implikasi keamanan dari mengekspos port debugger di jaringan publik dan pribadi. Mengekspos port debug secara publik tidak aman Jika debugger terikat ke alamat IP publik, atau ke 0.0.0.0, klien apa pun yang dapat menjangkau alamat IP Anda akan dapat terhubung ke debugger tanpa batasan apa pun dan akan dapat menjalankan kode arbitrer. Secara default node --inspect mengikat 127.0.0.1. Anda secara eksplisit perlu memberikan alamat IP publik atau 0.0.0.0, dll., Jika Anda ingin mengizinkan koneksi eksternal ke debugger. Melakukannya dapat membuat Anda rentan terhadap ancaman keamanan yang berpotensi signifikan. Kami menyarankan Anda memastikan firewall yang sesuai dan kontrol akses di tempat untuk mencegah eksposur keamanan. Lihat bagian 'Mengaktifkan skenario debug jarak jauh' tentang beberapa saran tentang cara mengizinkan klien debugger jarak jauh untuk terhubung dengan aman. Aplikasi lokal memiliki akses penuh ke inspektur Meskipun Anda mengikat port inspektur ke 127.0.0.1 (default), aplikasi apa pun yang berjalan secara lokal di komputer Anda akan memiliki akses tidak terbatas. Ini dirancang agar debugger lokal dapat melampirkan dengan nyaman. Browser, WebSockets, dan kebijakan asal yang sama Situs web yang dibuka di browser web dapat membuat permintaan WebSocket dan HTTP di bawah model keamanan browser. Koneksi HTTP awal diperlukan untuk mendapatkan id sesi debugger unik. Kebijakan yang sama-asal mencegah situs web dapat membuat koneksi HTTP ini. Untuk keamanan tambahan terhadap serangan rebinding DNS, Node.js memverifikasi bahwa header 'Host' untuk koneksi tersebut menentukan alamat IP atau localhost atau localhost6 dengan tepat. Kebijakan keamanan ini melarang koneksi ke server debug jarak jauh dengan menentukan nama host. Anda dapat mengatasi batasan ini dengan menentukan alamat IP atau dengan menggunakan terowongan ssh seperti yang dijelaskan di bawah ini. Klien Inspektur Beberapa alat komersial dan sumber terbuka dapat terhubung ke Node.js Inspector. Info dasar berikut ini: node-inspect CLI Debugger didukung oleh Node.js Foundation yang menggunakan Protokol Inspektur. Sebuah versi dibundel dengan Node.js dan dapat digunakan dengan node inspect myscript.js. Versi terbaru juga dapat diinstal secara independen (mis. Npm install -g node-inspect) dan digunakan dengan node-inspect myscript.js. Chrome DevTools 55+, Microsoft Edge Opsi 1: Buka chrome: // inspect di browser berbasis Chromium atau edge: // inspect di Edge. Klik tombol Configure dan pastikan host dan port target Anda terdaftar. Opsi 2: Salin devtoolsFrontendUrl dari output / json / list (lihat di atas) atau teks petunjuk --inspect dan tempelkan ke Chrome. Kode Visual Studio 1.10+ Di panel Debug, klik ikon pengaturan untuk membuka .vscode / launch.json. Pilih "Node.js" untuk penyiapan awal. Visual Studio 2017 Pilih "Debug> Mulai Debugging" dari menu atau tekan F5. Instruksi rinci. JetBrains WebStorm 2017.1+ dan JetBrains IDE lainnya Buat konfigurasi debug Node.js baru dan tekan Debug. --inspect akan digunakan secara default untuk Node.js 7+. Untuk menonaktifkan hapus centang js.debugger.node.use.inspect di IDE Registry. chrome-remote-interface Library untuk memudahkan koneksi ke titik akhir Protokol Inspektur. Gitpod Mulai konfigurasi debug Node.js dari tampilan Debug atau tekan F5. Instruksi rinci Eclipse IDE dengan ekstensi Eclipse Wild Web Developer Dari file .js, pilih "Debug Sebagai ...> Program node", atau Buat Konfigurasi Debug untuk memasang debugger ke menjalankan aplikasi Node.js (sudah dimulai dengan --inspect). Opsi baris perintah Tabel berikut mencantumkan dampak dari berbagai tanda waktu proses pada debugging: Tandai Arti --memeriksa Aktifkan agen inspektur Dengarkan alamat default dan port (127.0.0.1:9229) --inspect = [host: port] Aktifkan agen inspektur Ikat ke alamat atau nama host host (default: 127.0.0.1) Dengarkan porta (default: 9229) --inspect-brk Aktifkan agen inspektur Dengarkan alamat default dan port (127.0.0.1:9229) Istirahat sebelum kode pengguna dimulai --inspect-brk = [host: port] Aktifkan agen inspektur Ikat ke alamat atau nama host host (default: 127.0.0.1) Dengarkan di porta (default: 9229) Istirahat sebelum kode pengguna dimulai node memeriksa script.js Menelurkan proses anak untuk menjalankan skrip pengguna di bawah --inspect flag; dan gunakan proses utama untuk menjalankan debugger CLI. node inspect --port = xxxx script.js Menelurkan proses anak untuk menjalankan skrip pengguna di bawah --inspect flag; dan gunakan proses utama untuk menjalankan debugger CLI. Dengarkan di porta (default: 9229) Mengaktifkan skenario debugging jarak jauh Kami menyarankan agar Anda tidak pernah mendengarkan debugger di alamat IP publik. Jika Anda perlu mengizinkan koneksi debug jarak jauh, kami merekomendasikan penggunaan terowongan ssh sebagai gantinya. Kami memberikan contoh berikut hanya untuk tujuan ilustrasi. Harap pahami risiko keamanan dari mengizinkan akses jarak jauh ke layanan yang memiliki hak istimewa sebelum melanjutkan. Misalkan Anda menjalankan Node.js pada mesin jarak jauh, remote.example.com, yang ingin Anda dapat men-debug. Di mesin itu, Anda harus memulai proses node dengan inspektur hanya mendengarkan localhost (default). node --inspect server.js Sekarang, di komputer lokal tempat Anda ingin memulai koneksi klien debug, Anda dapat menyiapkan terowongan ssh: ssh -L 9221: localhost: 9229 pengguna@remote.example.com Ini memulai sesi terowongan ssh di mana koneksi ke port 9221 di komputer lokal Anda akan diteruskan ke port 9229 di remote.example.com. Sekarang Anda dapat memasang debugger seperti Chrome DevTools atau Visual Studio Code ke localhost: 9221, yang seharusnya dapat melakukan debug seolah-olah aplikasi Node.js berjalan secara lokal. Debugger Lama Debugger lama sudah tidak digunakan lagi mulai Node.js 7.7.0. Silakan gunakan --inspect dan Inspector sebagai gantinya. Saat dimulai dengan sakelar --debug atau --debug-brk di versi 7 dan sebelumnya, Node.js mendengarkan perintah debugging yang ditentukan oleh Protokol Debugging V8 yang dihentikan pada port TCP, secara default 5858. Klien debugger apa pun yang menggunakan protokol ini dapat terhubung dan men-debug proses yang sedang berjalan; beberapa yang populer tercantum di bawah ini. Protokol Debugging V8 tidak lagi dikelola atau didokumentasikan. Debugger Bawaan Mulai node debug script_name.js untuk memulai skrip Anda di bawah debugger baris perintah bawaan. Skrip Anda dimulai dalam proses Node.js lain yang dimulai dengan opsi --debug-brk, dan proses Node.js awal menjalankan skrip _debugger.js dan terhubung ke target Anda. node-inspector Debug aplikasi Node.js Anda dengan Chrome DevTools menggunakan proses perantara yang menerjemahkan Protokol Inspektur yang digunakan di Chromium menjadi protokol Debugger V8 yang digunakan di Node.ermajs. 

Sekian semoga bernmanfaat yah temanku , owh iya jangan lupa baca dokumentasi resminya di nodejs.org yah agar kalian memahami betul apa yang saya sampaikan. terimakasih telah membaca

Posting Komentar untuk "Debuging NODE JS"