Bagaimana cara men-debug Node.js aplikasi server?
Sekarang saya'm sebagian besar menggunakan waspada debugging dengan mencetak laporan seperti ini:
sys.puts(sys.inspect(someVariable));
Ada harus menjadi cara yang lebih baik untuk men-debug. Saya tahu bahwa Google Chrome memiliki baris perintah debugger. Adalah debugger ini tersedia untuk Node.js juga?
node-inspektur bisa menyimpan hari! Gunakan browser yang mendukung WebSocket. Breakpoints, profiler, livecoding, dll... Itu benar-benar mengagumkan.
Install dengan:
npm install -g node-inspector
Kemudian jalankan:
node-debug app.js
simpul-prof ./app.js
simpul-prof-proses ./yang-dihasilkan-log-file
Perpustakaan yang output informasi debugging
Perpustakaan yang meningkatkan stack trace informasi
ab -n 100000 -c 1 http://127.0.0.1:9778/
Ini digunakan untuk bekerja, tetapi tidak lagi dipertahankan atau tidak lagi berlaku untuk modern node versi.
The V8 debugger dirilis sebagai bagian dari Google Chrome Developer Tools dapat digunakan untuk men-debug Node.js script. Penjelasan rinci tentang bagaimana ini bekerja dapat ditemukan dalam Node.js wiki GitHub.
Hanya lulus inspektur bendera dan anda'akan disediakan dengan URL ke inspektur:
node --inspect server.js
Anda juga dapat istirahat pada baris pertama dengan melewati --memeriksa-brk
sebagai gantinya.
Untuk membuka jendela Chrome secara otomatis, gunakan memeriksa proses modul.
# install inspect-process globally
npm install -g inspect-process
# start the debugger with inspect
inspect script.js
Kode Visual Studio akan menjadi pilihan saya untuk debugging. Tidak ada overhead memasang alat atau npm install
hal.
Hanya mengatur titik awal dari aplikasi anda dalam paket.json dan VSCode akan secara otomatis membuat file konfigurasi di dalam solusi anda. It's membangun Elektron, di mana editor seperti Atom yang dibangun.
VS memberikan Kode yang mirip debugging pengalaman seperti anda mungkin telah di lain IDEs seperti LENSA, Eclipse, dll.
Saya pribadi menggunakan JetBrains WebStorm sebagai it's satu-satunya IDE JavaScript yang saya've ditemukan yang lebih besar untuk kedua frontend dan backend JavaScript.
Ia bekerja pada beberapa OS's dan telah Node.js debugging built-in (serta banyak hal-hal lain](http://www.jetbrains.com/webstorm/features/index.html).
Saya hanya 'masalah'/daftar item adalah sedang:
Theseus adalah proyek dengan Adobe penelitian yang memungkinkan anda men-debug anda Node.js code di Open Source editor tanda Kurung. Ini memiliki beberapa fitur menarik seperti real-time cakupan kode, berlaku surut pemeriksaan, panggilan asynchronous pohon.
Banyak jawaban yang besar di sini, tapi saya'd ingin menambahkan saya lihat (berdasarkan cara pendekatan saya berkembang)
Let's hadapi itu, kita semua cinta yang baik konsol.log('Uh oh, jika anda sampai di sini, anda lebih baik lari.')
dan kadang-kadang yang bekerja bagus, jadi jika anda're segan untuk bergerak terlalu jauh dari itu setidaknya menambahkan beberapa bling untuk log anda dengan Visionmedia's debug.
Seperti berguna seperti konsol logging dapat, untuk debug profesional yang anda butuhkan untuk menyingsingkan lengan baju anda dan terjebak dalam. Mengatur breakpoints, langkah melalui kode anda, memeriksa lingkup dan variabel untuk melihat apa yang's yang menyebabkan perilaku aneh. Seperti orang lain telah disebutkan, node-inspektur benar-benar adalah lebah lutut. Itu semua dapat anda lakukan dengan built-in debugger, tapi menggunakan yang akrab Chrome DevTools antarmuka. Jika, seperti saya, anda menggunakan Webstorm, maka di sini adalah sebuah panduan yang berguna untuk debugging dari sana.
Secara default, kita bisa't melacak serangkaian operasi di seluruh siklus yang berbeda dari acara loop (kutu). Untuk mendapatkan sekitar ini silahkan lihat di longjohn (tapi tidak di produksi!).
Dengan Node.js kita bisa memiliki proses server diharapkan untuk tinggal untuk waktu yang cukup lama. Apa yang anda lakukan jika anda pikir itu telah bermunculan beberapa jahat kebocoran? Gunakan heapdump dan Chrome DevTools untuk membandingkan beberapa foto dan melihat apa yang's berubah.
Untuk beberapa artikel yang berguna, check out
Jika anda merasa seperti menonton sebuah video(s) kemudian
Apapun jalan yang anda pilih, pastikan anda memahami bagaimana anda debugging
Itu adalah hal yang menyakitkan Untuk melihat anda sendiri kesulitan dan tahu Bahwa anda sendiri dan tidak ada orang lain yang telah membuatnya
Sophocles, Ajax
Node.js Alat untuk Visual Studio tahun 2012 atau 2013 termasuk debugger. Gambaran di sini menyatakan "Node.js Alat untuk Visual Studio menyediakan dukungan lengkap untuk debugging aplikasi node.". Yang baru untuk Node.js, tetapi memiliki latar belakang dalam .NET, I've ditemukan ini menambahkan untuk menjadi cara yang bagus untuk men-debug Node.js aplikasi.
Kode Visual Studio telah benar-benar bagus Node.js dukungan debugging. Ini adalah gratis, open source dan cross-platform dan berjalan pada Linux, OS X dan Windows.
Anda bahkan dapat men-debug mendengus dan meneguk tugas, yang harus anda butuhkan untuk...
Saya menulis sebuah pendekatan yang berbeda untuk men-debug Node.js kode yang stabil dan sangat sederhana. Ini tersedia di https://github.com/s-a/iron-node.
Aplikasi opensource cross-platform visual debugger.
Instalasi:
npm install besi-node -g;
Debug:
besi-node yourscript.js;
Menggunakan Chrome Versi 67.0.3396.62(+)
simpul-memeriksa-brk=0.0.0.0:9229 server.js(server js filename)
Akan ada lain DevTools jendela yang akan muncul keluar khusus untuk debugging aplikasi node.
Saya dibuat sedikit rapi alat yang disebut pry.js yang dapat membantu anda keluar.
Menempatkan sebuah pernyataan sederhana di suatu tempat dalam kode anda, menjalankan skrip secara normal dan node akan menghentikan thread saat ini memberikan anda akses ke semua variabel dan fungsi. Melihat/mengedit/menghapus mereka di akan!
pry = require('pryjs')
class FizzBuzz
run: ->
for i in [1..100]
output = ''
eval(pry.it) # magic
output += "Fizz" if i % 3 is 0
output += "Buzz" if i % 5 is 0
console.log output || i
bar: ->
10
fizz = new FizzBuzz()
fizz.run()
Saya menempatkan bersama-sama pendek Node.js debugging primer menggunakan node-inspektur untuk orang-orang yang tidak't yakin di mana untuk memulai.
Mulai node proses dengan --memeriksa bendera.
simpul-memeriksa index.js
dan kemudian Buka chrome://memeriksa
di chrome. Klik "Terbuka yang didedikasikan DevTools untuk Node" link atau menginstal ini ekstensi chrome untuk dengan mudah membuka chrome DevTools.
Untuk info lebih lanjut merujuk ke ini link
Gunakan Webstorm! It's sempurna untuk debugging Node.js aplikasi. Ia memiliki built-in debugger. Memeriksa dokumen berikut: https://www.jetbrains.com/help/webstorm/2016.1/running-and-debugging-node-js.html