मैं Node.js अनुप्रयोगों को कैसे डीबग करूं?


1577

मैं एक Node.js सर्वर एप्लिकेशन को कैसे डीबग करूं?

अभी मैं ज्यादातर इस तरह प्रिंट स्टेटमेंट के साथ अलर्ट डिबगिंग का उपयोग कर रहा हूं :

sys.puts(sys.inspect(someVariable));

डिबग करने का एक बेहतर तरीका होना चाहिए। मुझे पता है कि Google Chrome में कमांड-लाइन डीबगर है। क्या यह डीबगर Node.js के लिए भी उपलब्ध है?


3
कमांड लाइन इंजेक्शन के लिए आप Locus का उपयोग कर सकते हैं ।
अली डेवुत

5
यदि आप पारंपरिक IDE एपॉच के साथ डिबग करना चाहते हैं, तो vscode का उपयोग करें vscode youtube.com/watch?v=egBJ0cd0GLM
jw56578

4
मुझे यह लेख बहुत रोचक लगा है, और यह मेरे लिए ठीक काम करता है: क्रोम DevTools के साथ Node.js को डीबग करना । आशा है कि यह मदद करता है :)
टिमबर्गस

2
"अलर्ट डिबगिंग" :)
लाल मटर

ध्यान रखें कि यदि आप लोड समय पर वास्तविक सर्वर कोड को डीबग करना चाहते हैं तो --inspect-brkINSTEAD के साथ नोड चलाने की आवश्यकता है --inspect। देखें stackoverflow.com/questions/59596138
जॉर्ज ऑरपिनल

जवाबों:


1261

नोड-इंस्पेक्टर दिन बचा सकता था! WebSocket का समर्थन करने वाले किसी भी ब्राउज़र से इसका उपयोग करें । ब्रेकप्वाइंट, प्रोफाइलर, लाइवकोडिंग, आदि ... यह वास्तव में बहुत बढ़िया है।

इसे स्थापित करें:

npm install -g node-inspector

फिर भागो:

node-debug app.js

14
विश नोड-इंस्पेक्टर सक्रिय था। प्रोफाइलिंग घटक को थोड़ा प्यार पाने की जरूरत है।
जोनाथन ड्यूमाइन

13
दुर्भाग्य से मेरे लिए, नोड-इंस्पेक्टर Node.js के नवीनतम संस्करणों के साथ काम नहीं करता है और इसने v0.1 के बाद से ब्राउज़र कंसोल में लॉगिंग का समर्थन नहीं किया है। नोड-कोडिन सिर्फ छोटी गाड़ी थी। इसलिए, मैंने अपने स्वयं के मॉड्यूल को डिबगिंग के साथ मदद करने के लिए लिखा है ताकि आप ऑब्जेक्ट्स को डंप कर सकें और इस तरह अपने वेब ब्राउज़र कंसोल को। मैंने सोचा कि यह किसी और के लिए हो सकता है: नोड-बंदर । साथ ही यह फ़ायरफ़ॉक्स और क्रोम दोनों में काम करता है।
जस्टिन वर्केंटिन

7
चूंकि यह इतना स्पष्ट रूप से अद्भुत और लोकप्रिय उपकरण था, निश्चित रूप से यह तथ्य कि मूल लेखक ने स्वीकार किया है कि उनके पास अब इसे बनाए रखने के लिए संसाधन नहीं हैं, यह एक समस्या नहीं होगी क्योंकि खुले स्रोत समुदाय इसे उठा सकते हैं?
पीटर टी

34
अब इंस्पेक्टर अब स्ट्रॉन्ग्लूप द्वारा सक्रिय रूप से बनाए रखा गया है और नवीनतम संस्करण (0.3) के साथ फिर से काम कर रहा है! यहाँ घोषणा: blog.strongloop.com/…
balupton

21
"6.3 संस्करण के बाद से, Node.js एक बिट-इन DevTools- आधारित डीबगर प्रदान करता है जो ज्यादातर नोड इंस्पेक्टर को चित्रित करता है, उदाहरण के लिए आरंभ करने के लिए इस ब्लॉग पोस्ट को देखें । अंतर्निहित डीबगर सीधे V8 / क्रोमियम टीम द्वारा विकसित किया जाता है और कुछ उन्नत प्रदान करता है। विशेषताएं (उदाहरण के लिए लंबी / async स्टैक निशान) जो नोड इंस्पेक्टर में लागू करने के लिए बहुत मुश्किल हैं। " - नोड इंस्पेक्टर रेपो कहते हैं
ThisClark

749

डिबगिंग

रूपरेखा

  1. node --prof ./app.js
  2. node --prof-process ./the-generated-log-file

Heapdumps

Flamegraphs

ट्रेसिंग

लॉगिंग

लाइब्रेरी जो सूचना डिबगिंग का उत्पादन करती हैं

लाइब्रेरी जो स्टैक ट्रेस जानकारी को बढ़ाती हैं

बेंचमार्किंग

अन्य

विरासत

ये काम करने के लिए उपयोग किए जाते हैं लेकिन अब आधुनिक नोड संस्करणों के लिए बनाए नहीं रखे जाते हैं या लागू नहीं होते हैं।


8
Nodetime के बारे में: जो लोग nodetime सर्वरों के लिए अपने डेटा भेजने के लिए नहीं करना चाहते हैं के लिए वहाँ है, एक स्थानीय "वैकल्पिक" (यह अभी भी nodetime पर आधारित है) lookमॉड्यूल में उठाई बाहर के रूप में, stackoverflow.com/questions/12864221/nodejs-memory- प्रोफाइलिंग
वास्तव में

मैं नोड्यूटाइम से सीपीयू रिपोर्ट्स को बहुत मददगार नहीं पाता: 1. मुझे सिर्फ 'स्व' समय के साथ तरीकों का एक पेड़ मिलता है। 2. पेड़ की शाखाओं की तरह लगता है कि एक निश्चित संख्या में नीचे छंटनी की जाती है। उन 2 को कम करना बहुत मुश्किल हो जाता है जहां सीपीयू अपना अधिकांश समय खर्च करता है।
शकरज़ जूल 20'14

npm इंस्टॉल -g प्रोफाइलर खिड़कियों पर लापता अजगर के बारे में शिकायत करता है। 7. मैंने अजगर = सी: \ Python34 \ को सेट करने की कोशिश की, लेकिन यह एक दुर्घटना देता है।
स्टीफन याकोवेंको

बॉक्स से बाहर काम करने वाला एकमात्र प्रोफाइलर जीवन भर है। लेकिन इसका सीपीयू प्रोफाइलिंग स्टैकट्रेस अनुपयोगी है (यह पर्याप्त विवरण नहीं देता है)। Nodejs टूल्स 4 msvc 2012 में भी प्रोफाइलर है, लेकिन इसने महत्वपूर्ण अधूरा बग भी बताया है ...
Stepan Yakovenko

मेरे लिए काम करने वाला एकमात्र प्रोफाइलर nprof+ v8.logसे था node --prof
डैन अब्रामोव

253

वी 8 गूगल के हिस्से के रूप में जारी किया डिबगर Chrome डेवलपर टूल डिबग Node.js लिपियों के लिए इस्तेमाल किया जा सकता है। इस कार्य को Node.js GitHub wiki में कैसे पाया जा सकता है, इसका विस्तृत विवरण दिया गया है ।


12
मुझे दिलचस्पी है, Google IO की प्रस्तुति के बाद, जो पॉल आयरिश और पावेल ने किया था, क्या अब ग्रहण की आवश्यकता के बिना सीधे Chrome Developer Tools के लिए n.js को डीबग करना संभव है?
बालूप्टन

+1 ने मेरे लिए बहुत अच्छा काम किया। मैक ओएस एक्स पर एक ताजा ग्रहण 3.x, x64 संस्करण का उपयोग करना। स्थापना निर्देश भी अच्छी तरह से लिखे गए हैं। धन्यवाद।
शौकिया बरिस्ता

इसके अलावा Nodeclipse nodeclipse.org (कुछ Node.js संबंधित बग्स के साथ) के भीतर आता है
पॉल वेरेस्ट

इस क्षेत्र में मेरा प्रवेश trepanjs ( npmjs.com/package/trepanjs ) है। यह नोड डिबगर की अच्छाई के सभी है, लेकिन बेहतर gdb के अनुरूप है। इसमें सिंटैक्स हाइलाइटिंग, अधिक व्यापक ऑनलाइन सहायता, और स्मार्ट मूल्यांकन जैसी अधिक विशेषताएं और कमांड भी हैं। इसकी कुछ शानदार विशेषताओं के लिए github.com/rocky/trepanjs/wiki/Cool-things देखें ।
चट्टानी

1
यह सुविधा वर्तमान में रात के संस्करणों में उपलब्ध है। निर्देशों के लिए यहां देखें:https://medium.com/@paul_irish/debugging-node-js-nightlies-with-chrome-devtools-7c4a1b95ae27#.fitvuaumt
ज़ेरोनोन

191

नोड का अपना संस्करण GUI डीबगर में 6.3 के रूप में बनाया गया है (क्रोम के DevTools का उपयोग करके)

नोड्स जीयूआई डिबगर बनाया

बस इंस्पेक्टर ध्वज को पास करें और आपको निरीक्षक को एक URL प्रदान किया जाएगा:

node --inspect server.js

आप --inspect-brkइसके बजाय पास करके भी पहली पंक्ति पर टूट सकते हैं ।


2
उपरोक्त चरणों को छूट देने के लिए नहीं, बल्कि बस साझा करने के लिए ... मैंने एक आवरण बनाने का प्रयास किया जो थोड़ा अधिक मजबूत है, साथ ही स्थापित करने में आसान है। देखें: github.com/jaridmargolin/inspect-process
जारिड आर। मार्गोलिन

1
@ जारिद्र.मर्गोलिन नाइस। मैंने इसके बजाय इसका उपयोग करने का उत्तर अपडेट किया। सेटअप करने के लिए बहुत आसान है और बेहतर काम करता है :)
gregers

2
यह उत्तर फिलहाल सबसे नीचे है और यह एकमात्र ऐसा है जिसने वास्तव में मेरे लिए काम किया है। यह कमाल है!
LOAS

3
यदि यह किसी की मदद करता है, तो मैंने इस प्रक्रिया को youtu.be/rtZKUnks6jI पर समझाते हुए एक वीडियो डाला
RoccoB

2
क्रोम डेवलपर टूल के लिए आपको डार्क थीम कहां से मिली?
पीटर मेयरसन

93

Node.js संस्करण 0.3.4+ में अंतर्निहित डीबगिंग समर्थन है।

node debug script.js

मैनुअल: http://nodejs.org/api/debugger.html


1
क्या आपके पास इसका उपयोग करने के प्रलेखन के लिए कोई लिंक है?
फेबियन जेकब्स

2
मेरे पास कोई डॉक्स नहीं है। बस v0.3.5 को अद्यतन किया गया। एक लाइन डाल "डिबगर;" आपके कोड में जो विराम बिंदु के रूप में कार्य करेगा। यह ndb / gdb की तरह काम करता है। आप "नोड डिबग script.js" टाइप मदद करने के बाद। यू कमांड सपोर्ट करेगा। p = प्रिंट, l = सूची ... ताकि आपको पूरी दुनिया टाइप करने की आवश्यकता न हो
JulianW

2
ध्यान दें, विंडोज़ के अंतर्गत यह "node.exe --debug myscript.js" है, लेकिन यह अभी भी काम नहीं करता है।
मार्क

6
आपको शायद डैश के बिना बदलना --debugहोगा debug। कि आखिरकार मुझे काम करने का मौका कैसे मिला। यह भ्रामक है --debugऔर debugदो अलग-अलग काम करते हैं।
बेनेकास्तह

आप वास्तव में चलाने के लिए कार्यक्रम कैसे प्राप्त करते हैं? "r -> app is already running...", जब मैं जारी रखने की कोशिश करता हूं और मैं एक बयान में चला जाता हूं जो इनपुट प्राप्त करने की कोशिश कर रहा है, तो यह मुझे डिबग प्रॉम्प्ट पर वापस छोड़ देता है बजाय इसके कि मुझे इनपुट दर्ज करने की आवश्यकता है।
माइकल

70

दृश्य स्टूडियो कोड डिबगिंग के लिए मेरी पसंद होगी। किसी भी उपकरण याnpm installसामानको स्थापित करने का कोई ओवरहेड नहीं। अपने पैकेज के शुरुआती बिंदु को package.json में सेट करें और VSCode स्वचालित रूप से आपके समाधान के अंदर एक कॉन्फ़िगरेशन फ़ाइल बनाएगा। यहइलेक्ट्रॉनपर बना है, जिस पर एटम जैसे संपादक बनाए गए हैं।

VS कोड उसी तरह का डिबगिंग अनुभव देता है जैसा आपने अन्य IDEs जैसे VS, ग्रहण, इत्यादि में दिया होगा।

यहां छवि विवरण दर्ज करें यहां छवि विवरण दर्ज करें


यह शांत है लेकिन इसमें अंतराल है। इसलिए मैं कभी उदात्त पसंद करता हूं।
calbertts

3
लेकिन उदात्त के पास डिबगर नहीं है, और मुझे लगता है कि वीएस कोड बहुत तेज है
सैयद फैजान

1
मेरे पास 5 साल पहले से एक उदात्त लाइसेंस है। कुछ महीने पहले से मैं भी केवल Subcode पाठ स्थापित नहीं है, बस vscode। आउट ऑफ द बॉक्स में बहुत सारे टूल हैं जो मुझे उप-शीर्षक (एकीकृत टर्मिनल की तरह) में याद हैं।
एल्बोलेटियर

हमेशा मुझसे एक कॉन्फ़िगर फ़ोल्डर के लिए पूछ रहा है, यह बॉक्स से बाहर काम नहीं करता है
कोडकोड

@ सर्कोड सक्षम बनाम कोड ऑटो वरीयता को वरीयता देते हैं और अपनी स्क्रिप्ट शुरू करने के लिए बनाम कोड टर्मिनल का उपयोग करते हैं , पूर्व नोड
विपुल

57

मैं व्यक्तिगत रूप से उपयोग करता हूं रूप से JetBrains WebStorm का हूं क्योंकि यह एकमात्र जावास्क्रिप्ट आईडीई है जो मैंने पाया है जो कि फ्रंटएंड और बैकेंड दोनों के लिए बहुत अच्छा है।

यह कई OS पर काम करता है और इसमें Node.js का डिबगिंग बिल्ट-इन (और साथ ही अन्य सामान का एक टन होता है] ( http://www.jetbrains.com/webstorm/features/index.html )।

मेरी केवल 'समस्याएं' / इच्छा सूची आइटम कर रहे हैं थे :

  1. यह मैक पर विंडोज की तुलना में अधिक संसाधन भूख लगता है यह अब संस्करण 6 में एक मुद्दा नहीं लगता है।
  2. यह अच्छा होगा अगर इसमें स्निपेट का समर्थन हो (जैसे उन लोगों का उदात्त पाठ 2 का - यानी 'फन' टाइप करें और किसी फंक्शन में डालने के लिए 'टैब' पर टैप करें। नीचे देखें @WickyNilliams टिप्पणी - लाइव टेम्पलेट्स के साथ आपको स्निपेट समर्थन भी है।

10
webstorm में स्निपेट सपोर्ट BTW ;-) है, हालांकि वे स्निपेट्स के बजाय "लाइव टेम्प्लेट" के रूप में जाने जाते हैं।
विक्कीनीलियम्स

3
यदि आप सिर्फ एक नोड.जेएस एप्लिकेशन को डीबग करना चाहते हैं और पहले से ही एक इंटेलीज आईडीईए लाइसेंस है, तो आप वेबस्टॉर्म लाइसेंस खरीदने के बिना केवल नोड.जेएस प्लगइन स्थापित कर सकते हैं। प्लगइन स्थापित होने के बाद रन / डिबग कॉन्फिगर सेट करना बहुत आसान है।
जोश लिप्टिन

42

यहाँ बहुत सारे शानदार जवाब हैं, लेकिन मैं अपना दृष्टिकोण जोड़ना चाहता हूं (मेरा दृष्टिकोण कैसे विकसित होता है, इसके आधार पर)

दोषमार्जन लॉग

आइए इसका सामना करते हैं, हम सभी एक अच्छा प्यार करते हैं console.log('Uh oh, if you reached here, you better run.')और कभी-कभी यह बहुत अच्छा काम करता है, इसलिए यदि आप बहुत दूर जाने की कोशिश कर रहे हैं तो कम से कम विज़नमीडिया की डिबग के साथ अपने लॉग में कुछ ब्लिंग जोड़ें ।

इंटरएक्टिव डिबगिंग

जैसे ही कंसोल लॉगिंग हो सकती है, पेशेवर रूप से डिबग करने के लिए आपको अपनी आस्तीन को रोल करने और अंदर फंसने की जरूरत है। ब्रेकप्वाइंट सेट करें, अपने कोड के माध्यम से कदम, स्कोप और चर का निरीक्षण करके देखें कि क्या अजीब व्यवहार हो रहा है। जैसा कि दूसरों ने उल्लेख किया है, नोड-इंस्पेक्टर वास्तव में मधुमक्खियों के घुटने हैं। यह सब कुछ करता है जो आप अंतर्निहित डिबगर के साथ कर सकते हैं, लेकिन उस परिचित Chrome DevTools इंटरफ़ेस का उपयोग करके। अगर, मेरी तरह, आप वेबस्टॉर्म का उपयोग करते हैं , तो यहां से डिबगिंग के लिए एक आसान गाइड है।

ढेर के निशान

डिफ़ॉल्ट रूप से, हम ईवेंट लूप के विभिन्न चक्रों (टिक्स) के संचालन की एक श्रृंखला का पता नहीं लगा सकते हैं। इसके आसपास पाने के लिए लोंग्जोन (लेकिन उत्पादन में नहीं!) पर एक नज़र है ।

स्म्रति से रिसाव

Node.js के साथ हमारे पास काफी समय तक रहने के लिए एक सर्वर प्रक्रिया होने की उम्मीद है। यदि आपको लगता है कि यह कुछ बुरा लीक उछला है तो आप क्या करते हैं? उपयोग heapdump और Chrome DevTools कुछ स्नैपशॉट की तुलना और देखो क्या बदल रहा है करने के लिए।


कुछ उपयोगी लेखों के लिए, देखें

यदि आपको वीडियो देखने का मन करता है तो

आप जो भी रास्ता चुनते हैं, बस सुनिश्चित करें कि आप समझते हैं कि आप कैसे डिबगिंग कर रहे हैं

यहां छवि विवरण दर्ज करें

यह एक दर्दनाक बात
है
कि अपनी परेशानी को देखें और जानें कि आप खुद हैं और किसी और ने इसे नहीं बनाया है

सोफोकल्स, अजाक्स


41

थिसियस एडोब रिसर्च द्वारा एक परियोजना है जो आपको अपने ओपन सोर्स एडिटर ब्रैकेट में अपने नोड कोड कोड को डीबग करने की सुविधा देता है । इसमें वास्तविक समय कोड कवरेज, पूर्वव्यापी निरीक्षण, अतुल्यकालिक कॉल ट्री जैसी कुछ दिलचस्प विशेषताएं हैं।

स्क्रीनशॉट


यह बहुत अच्छा है, अभी भी पता नहीं क्या tho के लिए
backtrace है

मैं वर्तमान में थिसस को प्यार कर रहा हूं, लेकिन मुझे अभी भी कुछ समस्याएं हैं जहां मुझे एक ब्रेकपॉइंट और ट्रेस सेट करने की आवश्यकता है। मुझे वर्तमान में अपने ऐप को मारना है, नोड को --debug के साथ शुरू करना है, ट्रैफ़ को ट्रेस करना है और फिर नोड-थ्रू के साथ ऐप को शुरू करना है। क्या ब्रेकपॉइंट्स के साथ थिसस का उपयोग करना संभव है? मैंने GitHub पेज, StackOverflow और मंचों के आसपास खोज करने की कोशिश की है, लेकिन अभी तक कोई भाग्य नहीं है। क्या मैं कुछ भूल रहा हूँ?
यूजीन

25

Visual Studio 2012 या 2013 के लिए Node.js टूल में डिबगर शामिल है। यहाँ अवलोकन कहा गया है "Node.js उपकरण के लिए दृश्य स्टूडियो नोड क्षुधा डीबगिंग के लिए पूरा समर्थन भी शामिल है।"। Node.js के लिए नया होने के नाते, लेकिन .NET में पृष्ठभूमि होने के कारण, मैंने Node.js अनुप्रयोगों को डीबग करने का एक शानदार तरीका पाया है।


23

विजुअल स्टूडियो कोड में वास्तव में अच्छा Node.js डिबगिंग समर्थन है। यह मुफ़्त, खुला स्रोत और क्रॉस-प्लेटफ़ॉर्म है और लिनक्स, ओएस एक्स और विंडोज पर चलता है।

आप ग्रंट और गल्प कार्यों को डिबग भी कर सकते हैं , क्या आपको इसकी आवश्यकता होनी चाहिए ...


1
विजुअल स्टूडियो कोड 8.0 से शुरू होकर OSX और लिनक्स के लिए डिबगिंग समर्थन वास्तव में अच्छा मिला।
bgse

विंडोज़ के तहत कार्य करने के लिए पूरी शाम को नोड-इंस्पेक्टर और स्ट्रॉन्गोप्लॉप खर्च करने के बाद (विजुअल स्टूडियो कम्युनिटी, npm 2 पर डाउनग्रेड, अजगर स्थापित करना, env वेरिएबल्स, cmd not babun / cygwin इत्यादि का उपयोग करना) और फिर एक घंटे के लिए इसके साथ खेलना। , मेरा कहना है कि यह कम से कम खिड़कियों में और संभवतः सामान्य रूप से सबसे अच्छा विकल्प है (यदि आपके पास वेबस्टोर्न नहीं है)
dashambles

22

मैंने Node.js कोड को डिबग करने के लिए एक अलग दृष्टिकोण लिखा है जो स्थिर है और बेहद सरल है। यह https://github.com/sa/iron-node पर उपलब्ध है ।

यहां छवि विवरण दर्ज करें

एक ओपनसोर्स क्रॉस-प्लेटफॉर्म विज़ुअल डीबगर।

स्थापना:

npm install iron-node -g;

डीबग:

iron-node yourscript.js;



15

Chrome संस्करण 67.0.3396.62 (+) का उपयोग करना

  1. नोड एप चलाएं

नोड --inspect-brk = 0.0.0.0: 9229 server.js (सर्वर js फ़ाइल नाम)

  1. अपने ऐप को क्रोम में ब्राउज़ करें जैसे "localhost: port"
  2. DevTools खोलें।
  3. उत्तरदायी डिवाइस आइकन के पास नोड आइकन पर क्लिक करें।

यहां छवि विवरण दर्ज करें

एक और DevTools विंडो होगी जो विशेष रूप से नोड एप डिबगिंग के लिए पॉप आउट होगी।

यहां छवि विवरण दर्ज करें


13

मैंने pry.js नाम का एक छोटा सा उपकरण बनाया जो आपकी मदद कर सकता है।

अपने कोड में कहीं भी एक साधारण विवरण रखें, अपनी स्क्रिप्ट को सामान्य रूप से चलाएं और नोड आपके सभी चर और कार्यों तक पहुंच प्रदान करने वाले वर्तमान धागे को रोक देगा। वसीयत में उन्हें देखें / संपादित करें / हटाएं!

var 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()

11

Node.js. के भीतर अंतर्निहित कमांड लाइन डिबगर क्लाइंट है क्लाउड 9 आईडीई में बहुत अच्छा (दृश्य) डीबगर है


क्लाउड 9 मेरे लिए जाने का रास्ता है, विशेष रूप से मेरे लैपटॉप को ले जाने के बिना कहीं भी कोड की स्वतंत्रता देता है।
तेमन शिपाही




8

अपनी नोड प्रक्रिया को --inspect ध्वज के साथ प्रारंभ करें ।

node --inspect index.js

और फिर chrome://inspectक्रोम में खोलें । "नोड के लिए समर्पित DevTools खोलें" लिंक पर क्लिक करें या इसे स्थापित करें आसानी से क्रोम DevTools खोलने के लिए क्रोम एक्सटेंशन को ।

अधिक जानकारी के लिए इस लिंक को देखें


7

यदि आपको Node.js के लिए एक शक्तिशाली लॉगिंग लाइब्रेरी की आवश्यकता है, तो Tracer https://github.com/baryon/tracer एक बेहतर विकल्प है।

यह टाइमस्टैम्प, फ़ाइल नाम, विधि का नाम, लाइन नंबर, पथ या कॉल स्टैक, समर्थन रंग कंसोल, और समर्थन डेटाबेस, फ़ाइल, स्ट्रीम परिवहन के साथ लॉग संदेश को आसानी से आउटपुट करता है। मैं लेखक हूं।


7

मान लें कि आपके कंप्यूटर पर नोड-इंस्पेक्टर स्थापित है (यदि नहीं, तो बस 'npm इंस्टॉल -g नोड-इंस्पेक्टर' टाइप करें) आपको बस चलाना है:

node-inspector & node --debug-brk scriptFileName.js

और URI को कमांड लाइन से WebKit (Chrome / Safari) ब्राउज़र में पेस्ट करें।


1
नोड-निरीक्षक पहले से ही उल्लेख किया गया था ; शायद इस उत्तर को हटा दें?
दान डैस्कलेस्कु



5

कई संभावनाएं हैं ...

डीबग समर्थन अक्सर v8 डिबगिंग प्रोटोकॉल या नए क्रोम डीबगिंग प्रोटोकॉल का उपयोग करके कार्यान्वित किया जाता है ।


5

नया खुला-स्रोत Nodeclipse प्रोजेक्ट है (एक ग्रहण प्लगइन या एनाइड स्टूडियो के रूप में ):

2013 के लिए ग्रहण के शीर्ष 10 नए प्लगइन्स में # 1 नोडोडलिप्स बन गया । यह संशोधित V8 डीबगर (Google Chrome डेवलपर टूल से जावा के लिए) का उपयोग करता है।

Nodeclipse हर महीने की शुरुआत में रिलीज़ होने वाला फ्री ओपन-सोर्स सॉफ्टवेयर है ।


4

NetBeans आईडीई Node.js के बाद से समर्थन किया गया है संस्करण 8.1 :

<...>

नई सुविधा हाइलाइट्स

Node.js अनुप्रयोग विकास

  • नई Node.js प्रोजेक्ट विज़ार्ड
  • न्यू Node.js एक्सप्रेस विज़ार्ड
  • एन्हांस्ड जावास्क्रिप्ट संपादक
  • Node.js अनुप्रयोगों को चलाने के लिए नया समर्थन
  • Node.js अनुप्रयोगों को डीबग करने के लिए नया समर्थन।

<...>

अतिरिक्त संदर्भ:

  1. NetBeans Wiki / NewAndNoteworthyNB81
  2. NetBeans IDE, Geertjan-Oracle में Node.js एक्सप्रेस ऐप



3

एक त्वरित और गंदा तरीका अपने पसंदीदा के साथ छोटे Node.js स्क्रिप्ट डिबग करने के लिए ब्राउज़र डीबगर उपयोग करने के लिए किया जाएगा browserify । ध्यान दें कि यह दृष्टिकोण किसी भी ऐसे अनुप्रयोग के साथ काम नहीं करता है जिसमें देशी I / O पुस्तकालयों की आवश्यकता होती है, लेकिन यह अधिकांश छोटी लिपियों के लिए पर्याप्त है।

$ npm install -g browserify

अब अपने सभी var x = requires('x')कॉल को एक requires.jsफ़ाइल में ले जाएँ और चलाएं:

$ browserify requires.js -s window -o bundle.js

(यहाँ नकारात्मक पक्ष यह है कि आपको या तो requiresअपनी सभी फाइलों को स्थानांतरित करना होगा या टिप्पणी करनी होगी ।)

bundle.jsHTML फ़ाइल में इसे शामिल करें :

<script type="text/javascript" src="bundle.js"></script>

अब फ़ाइल को अपने ब्राउज़र में लोड करें और दबाएं F12और वायोला करें: ब्राउज़र में डीबग करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.