दिलचस्प पोस्ट
AngularJS। टैग मान को परिवर्तित करें (मानव-पठनीय समय के लिए यूनिक्स का समय) मैं सार्वजनिक कुंजी स्वरूप की दो शैलियों, एक "आरएसए सार्वजनिक कुंजी" के बीच कैसे बदल सकता हूँ, अन्य "BEGIN सार्वजनिक कुंजी" डिव पृष्ठभूमि कोडर बदलने के लिए जावास्क्रिप्ट का उपयोग कैसे करें स्प्रिंगफ्रेमवर्क के टैग लाइब्रेरी डिस्क्रिप्टर नहीं मिल सकते किसी वेबपेज पर एम्बेडेड ऑब्जेक्ट के लिए wmode = "transparent", "opaque", या "window" के बीच अंतर java.lang.OutOfMemoryError: बिटमैप आकार VM बजट से अधिक है जांचें कि क्या रूबी में कोई मान मौजूद है प्रोजेक्ट लक्ष्यीकरण 4.0 में मैं async कीवर्ड का उपयोग कैसे कर सकता हूं कैसे कोरडाटा को अर्रे को बचाने के लिए? एचटीएमएल चार्सेट एन्कोडिंग के साथ PHP गड़बड़ मोबाइल ब्राउज़र पर मंडराना प्रभाव अक्षम करें कैसे jQuery के AJAX कॉल का उपयोग करने के लिए node.js के साथ MvvmCross ShowViewModel के साथ जटिल नेविगेशन पैरामीटर पास करना आप asp.net MVC में ~ / दृश्य फ़ोल्डर के अंतर्गत स्थिर .html फ़ाइलों का अनुरोध कैसे करते हैं? एनएसपीआरडीएक्स का प्रयोग एनएसएआरएआरएस पर आधारित एनएसएआरआरए फ़िल्टर करने के लिए

मैं Node.js अनुप्रयोगों को डिबग कैसे कर सकता हूँ?

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

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

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

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

Solutions Collecting From Web of "मैं Node.js अनुप्रयोगों को डिबग कैसे कर सकता हूँ?"

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

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

 npm install -g node-inspector 

तो भागो:

 node-debug app.js 

डिबगिंग

  • जॉयंट्स गाइड
  • डीबगर
  • नोड इंस्पेक्टर
  • दृश्य स्टूडियो कोड
  • क्लाउड 9
  • कोष्ठक

प्रोफाइलिंग

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

Heapdumps

  • क्रोम डेवलपर टूल के साथ नोड-हेपडम्प

Flamegraphs

  • 0x
  • jam3 / devtool तो क्रोम डेवलपर उपकरण लौ चार्ट
  • Dtrace और StackVis – केवल SmartOS पर समर्थित

ट्रेसिंग

  • ट्रेस जीएल के साथ इंटरेक्टिव स्टैक ट्रेसेस

लॉगिंग

पुस्तकालय जो आउटपुट डीबगिंग सूचना

  • कमला
  • दरियाफ्त

पुस्तकालय जो स्टैक ट्रेस सूचना को बढ़ाते हैं

  • लंबा जॉन

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

  • अपाचे बेंच : ab -n 100000 -c 1 http://127.0.0.1:9778/
  • wrk

अन्य

  • निशान
  • सहूलियत
  • डरावना
  • Google ट्रेसिंग फ़्रेमवर्क
  • पॉल आयरिश गाइड

विरासत

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

Google Chrome डेवलपर टूल के भाग के रूप में रिलीज़ किया गया V8 डीबगर, Node.js स्क्रिप्ट डीबग करने के लिए उपयोग किया जा सकता है। यह कैसे काम करता है की एक विस्तृत व्याख्या Node.js GitHub विकी में मिल सकती है।

एनडीबी भी एक कमांड लाइन डिबगर है जो नोड। जेएस में लिखा गया है।

नोड का संस्करण 6.3 के रूप में जीयूआई डिबगर में बनाया गया है (क्रोम के डेवलटों का उपयोग करके)

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

बस इंस्पेक्टर फ्लैग पास करें और आपको इंस्पेक्टर को एक यूआरएल दिया जाएगा:

 node --inspect server.js 

आप इसके बजाय --inspect-brk पास करके पहली पंक्ति को तोड़ सकते हैं।

स्वचालित रूप से क्रोम विंडो खोलने के लिए, निरीक्षण-प्रक्रिया मॉड्यूल का उपयोग करें

 # install inspect-process globally npm install -g inspect-process # start the debugger with inspect inspect script.js 

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

node debug script.js

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

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

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

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

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

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

वीएस कोड समान डिबगिंग अनुभव देता है क्योंकि आपके पास वीएस, एक्लिप्स इत्यादि जैसे अन्य आईडीई होते हैं।

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

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

स्क्रीनशॉट

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

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

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

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

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

स्टैक ट्रेसेस

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

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

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


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

  • राइजिंगस्टक – डिबगिंग नोड। जेएस एप्लीकेशन
  • डेविड मार्क क्लेमेंट्स के पासफॉर्म के उत्कृष्ट लेख

अगर आपको लगता है कि कोई वीडियो (वीडियो) देख रहे हैं तो

  • Netflix जेएस वार्ता – उत्पादन में डीबगिंग नोड। जेएस
  • ट्रेसिंग और डीबगिंग नोड। जेएस पर ट्रेसिंग कार्य समूह से दिलचस्प वीडियो
  • नोड-इंस्पेक्टर पर वास्तव में जानकारीपूर्ण 15-मिनट का वीडियो

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

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

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

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

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

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

आप कर्कश और घूंट कार्य डिबग भी कर सकते हैं , आपको चाहिए …

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

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

एक ओपनसोर्स क्रॉस-प्लेटफॉर्म दृश्य डीबगर

स्थापना:

npm install iron-node -g;

डीबग:

iron-node yourscript.js;

यदि आप एटम आईडीई का उपयोग कर रहे हैं, तो आप node-debugger पैकेज को स्थापित कर सकते हैं।

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

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

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

मैं नोड-इंस्पेक्टर का उपयोग करने के लिए एक छोटी नोड.जेएस डीबगिंग प्राइमर को एक साथ रखता हूं, जिनके बारे में पता नहीं है कि आरंभ करने के लिए कहां से हैं

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

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

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

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

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

और कमांड लाइन से यूआरआई को एक वेबकिट (क्रोम / सफारी) ब्राउज़र में पेस्ट करें।

बस पूर्णता के लिए:

PyCharm 3.0 + Node.js प्लगइन एक भयानक विकास + रन + डिबग अनुभव प्रदान करता है

नया ओपन सोर्स नोडक्लिपस प्रोजेक्ट है (एक एक्लिप्स प्लगइन या एनेइड स्टूडियो के रूप में ):

http://www.nodeclipse.org/img/Nodeclipse-1-debugging.png

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

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

वेबस्टॉर्म का उपयोग करें! यह Node.js अनुप्रयोगों को डीबग करने के लिए एकदम सही है इसमें एक अंतर्निर्मित डिबगर है दस्तावेज़ यहां देखें: https://www.jetbrains.com/help/webstorm/2016.1/running-and-debugging-node-js.html

IntelliJ नोड के लिए अद्भुत काम करता है।

इसके अलावा, IntelliJ अच्छी तरह से 'कोड सहायता' का समर्थन करता है

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

 $ npm install -g browserify 

अब अपने सभी var x = requires('x') स्थानांतरित var x = requires('x') फ़ाइल में var x = requires('x') requires.js :

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

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

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

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

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

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

<…>

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

नोड। जेएस एप्लीकेशन डेवलपमेंट

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

<…>

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

  1. नेटबैंस विकी / नयाऔर नॉटवॉर्थीएनबी 81
  2. नेटबैंस आईडीई में नोड। जेएस एक्सप्रेस एप, गीर्टजन-ओरेकल ।

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

  • नोड में डीबगिंग उपयोगिता शामिल है
  • नोड निरीक्षक
  • कोड संपादकों / आईडीई (निम्न में से एक के लिए डीबग निर्देश देखें)
    • एटम ,
    • VSCode
    • Webstorm
    • और अधिक

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

दृश्य स्टूडियो कोड डीबगिंग में हमारे लिए काम करेगा।

 node-debug -p 8888 scriptFileName.js 

मैं Walmart लैब्स द्वारा अच्छा प्रयोग करेगा यह काम करेगा, और यह बहुत लचीला है:

 var hapi = require('hapi'); var good = require('good'); var server = hapi.createServer('localhost', 5000,{}); server.route({SOME ROUTE HERE}); server.start(); var options = { subscribers: { 'console': ['ops', 'request', 'log', 'error'], 'http://localhost/logs': ['log'] } }; server.pack.require('good', options, function (err) { if (!err) { console.log('Plugin loaded successfully'); } });