আমি কীভাবে নোড.জেএস অ্যাপ্লিকেশনগুলি ডিবাগ করব?


1576

আমি কীভাবে একটি নোড.জেএস সার্ভার অ্যাপ্লিকেশন ডিবাগ করব?

এখনই আমি বেশিরভাগ ক্ষেত্রে প্রিন্ট স্টেটমেন্টগুলির সাথে সতর্কতা ডিবাগিংটি ব্যবহার করছি :

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

ডিবাগ করার জন্য আরও ভাল উপায় থাকতে হবে। আমি জানি যে গুগল ক্রোমের একটি কমান্ড-লাইন ডিবাগার রয়েছে। এই ডিবাগারটি নোড.জেএস এর জন্যও কি উপলব্ধ?


3
আপনি কমান্ড লাইন ইঞ্জেকশনের জন্য লোকাস ব্যবহার করতে পারেন ।
আলী দাভুট

5
আপনি যদি গতানুগতিক আইডিই অ্যাপোচ দিয়ে ডিবাগ করতে চান, তবে vscode ইউটিউব ব্যবহার করুন youtube.com/watch?v=egBJ0cd0GLM
jw56578

4
আমি এই নিবন্ধটি খুব আকর্ষণীয় পেয়েছি এবং এটি আমার পক্ষে ঠিক কাজ করে: ক্রোম দেবটুলগুলির সাথে ডিবাগিং নোড.জেএস । আশা করি এটি সাহায্য করবে :)
টিমবার্গাস

2
"সতর্কতা ডিবাগিং" :) :)
রেড মটরটি

মনে রাখবেন যে আপনি যদি লোডের সময় আসল সার্ভার কোডটি ডিবাগ করতে চান তবে আপনার --inspect-brkইনস্টল অফ দিয়ে নোড চালানো দরকার --inspect। দেখুন stackoverflow.com/questions/59596138
হোর্হে Orpinel

উত্তর:


1261

নোড-ইন্সপেক্টর দিন বাঁচাতে পারতেন! ওয়েবস্কট সমর্থনকারী যে কোনও ব্রাউজার থেকে এটি ব্যবহার করুন । ব্রেকপয়েন্টস, প্রোফাইলার, লাইভকডিং ইত্যাদি ... এটি সত্যিই দুর্দান্ত।

এটি দিয়ে এটি ইনস্টল করুন:

npm install -g node-inspector

তারপরে চালান:

node-debug app.js

14
ইচ্ছা নোড-ইন্সপেক্টর সক্রিয় ছিল। প্রোফাইলিং উপাদানটির কিছুটা ভালবাসা পাওয়া দরকার।
জোনাথন ডুমাইন

13
দুর্ভাগ্যক্রমে আমার জন্য, নোড-ইন্সপেক্টর নোড.জেএস এর সর্বশেষতম সংস্করণগুলির সাথে কাজ করে না এবং এটি v0.1 থেকে ব্রাউজার কনসোলে লগিং সমর্থন করে না। নোড-কোডিন কেবল বগি ছিল। সুতরাং, আমি আপনাকে নিজের ওয়েব ব্রাউজার কনসোলে আইটেমগুলি এবং এই জাতীয় আউট ডাম্প করার অনুমতি দিয়ে ডিবাগিংয়ে সহায়তা করার জন্য আমার নিজস্ব মডিউলটি লিখেছি। আমি ভেবেছিলাম এটি অন্য কারও কাজে লাগতে পারে: নোড-বানর । এছাড়াও এটি ফায়ারফক্স এবং ক্রোম উভয় ক্ষেত্রেই কাজ করে।
জাস্টিন ওয়ার্কেন্টিন

7
যেহেতু এটি একটি দৃশ্যত আশ্চর্যজনক এবং জনপ্রিয় হাতিয়ার ছিল, অবশ্যই সত্য লেখক স্বীকার করেছেন যে তাদের কাছে আর এগুলি রক্ষণাবেক্ষণের সংস্থান নেই কারণ ওপেন সোর্স সম্প্রদায় এটিকে বাছাই করতে পারে?
পিটারটি

34
এখন পরিদর্শক এখন স্ট্রংলুপ দ্বারা সক্রিয়ভাবে রক্ষণাবেক্ষণ করছেন এবং সর্বশেষতম সংস্করণ (0.3) এর সাথে আবার কাজ করছেন! ঘোষণা এখানে: ব্লগ.স্ট্রংলুপ.com/…
বালুপটন

21
"সংস্করণ .3.৩, নোড.জেএস একটি বিট-ইন ডিভলটুলস-ভিত্তিক ডিবাগার সরবরাহ করে যা বেশিরভাগ নোড ইন্সপেক্টরকে অবহেলা করে, শুরু করার জন্য এই ব্লগ পোস্টটি দেখুন built বৈশিষ্ট্য (যেমন দীর্ঘ / async স্ট্যাক ট্রেস) যা নোড ইন্সপেক্টরটিতে প্রয়োগ করা খুব কঠিন। " - নোড ইন্সপেক্টর রেপো বলেছেন
ক্লার্ক

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- প্রোফাইলিং
সত্যই

আমি নোডটাইম থেকে সিপিইউ রিপোর্টগুলি খুব সহায়ক বলে খুঁজে পাই না: ১. আমি কেবল 'স্ব' সময় না নিয়েই একটি পদ্ধতি গাছ পেয়েছি। ২. গাছের শাখাগুলির মতো কিছু নির্দিষ্ট ছদ্মবেশের নীচে ছাঁটা হয়েছে বলে মনে হয়। সিপিইউ তার বেশিরভাগ সময় ব্যয় করে যেখানে এই 2 টি এটি অনন্ডস্ট্যান্ড করা খুব কঠিন করে তোলে।
shacharz

এনপিএম ইনস্টল -জি প্রোফাইলার উইন্ডোজ on তে অজগর হারিয়ে যাওয়ার বিষয়ে অভিযোগ করে I আমি পাইথন = সি: \ পাইথন 34 set সেট করার চেষ্টা করেছি, তবে এটি একটি ক্রাশ দেয়।
স্টেপান ইয়াকোভেনকো

বাক্সের বাইরে কাজ করা একমাত্র প্রোফাইলার হ'ল নোডটাইম। তবে এর সিপিইউ প্রোফাইলিং স্ট্যাকট্রেস ব্যবহারযোগ্য নয় (এটি পর্যাপ্ত বিবরণ দেয় না)। নোডেজ সরঞ্জামগুলি 4 এমএসভিসি 2012 এর প্রোফাইলারও রয়েছে, তবে এটি সমালোচিত অপছন্দের বাগও জানিয়েছে ...
স্টেপান ইয়াকোভেনকো

আমার পক্ষে একমাত্র প্রোফাইলারই ছিলেন nprof+ v8.logথেকে node --prof
ড্যান আব্রামভ

253

V8 Google এর অংশ হিসেবে মুক্তি ডিবাগার ক্রোম বিকাশকারী সরঞ্জামসমূহ ডিবাগ Node.js স্ক্রিপ্ট ব্যবহার করা যেতে পারে। কিভাবে এই কাজ করে তার একটি বিশদ ব্যাখ্যা নোড.জেএস গিটহাব উইকিতে পাওয়া যাবে ।


12
আমি আগ্রহী, গুগল আইও-তে উপস্থাপনা করার পরে যে পল আইরিশ এবং পাভেল কীভাবে গ্রহনের প্রয়োজন ছাড়াই ক্রম বিকাশকারী সরঞ্জামগুলিতে সরাসরি নোড.জে ডিবাগ করা সম্ভব?
বালুপটন

+1 আমার জন্য খুব ভাল কাজ করেছে। ম্যাক ওএস এক্সে একটি নতুন তাজা Eclipse 3.x, x64 সংস্করণ ব্যবহার করে installation ইনস্টলেশন নির্দেশাবলী পাশাপাশি ভাল লেখা আছে। ধন্যবাদ.
অপেশাদার বড়িস্তা

এছাড়াও নোডক্লিপস নোডক্লিপস.অর্গ.এর মধ্যে আসে (কিছু নোড.জেএস সম্পর্কিত বাগগুলি স্থির করে)
পল ভেরেস্ট

এই অঙ্গনে আমার প্রবেশ ট্রেনপঞ্জ ( npmjs.com/package/trepanjs )। এটিতে নোড ডিবাগারের সমস্ত সদ্ব্যবহার রয়েছে তবে জিডিবির সাথে আরও ভাল মানিয়ে যায়। এটিতে সিন্ট্যাক্স হাইলাইটিং, আরও বিস্তৃত অনলাইন সহায়তা, এবং স্মার্ট মূল্যায়নের মতো আরও বৈশিষ্ট্য এবং কমান্ড রয়েছে। এর কয়েকটি দুর্দান্ত বৈশিষ্ট্যের জন্য github.com/rocky/trepanjs/wiki/Cool-things দেখুন ।
রকি

1
বৈশিষ্ট্যটি বর্তমানে রাতের সংস্করণগুলিতে উপলভ্য। নির্দেশাবলীর জন্য এখানে চেক করুন:https://medium.com/@paul_irish/debugging-node-js-nightlies-with-chrome-devtools-7c4a1b95ae27#.fitvuaumt
জেরোনোন

191

নোডের জিইআইআই ডিবাগারে built.৩ সংস্করণ (ক্রোমের ডিভটুলগুলি ব্যবহার করে) এর নিজস্ব বিল্ট রয়েছে

নোডগুলি জিইআইআই ডিবাগারে নির্মিত

কেবল পরিদর্শকের পতাকাটি পাস করুন এবং আপনাকে পরিদর্শকের কাছে একটি URL সরবরাহ করা হবে:

node --inspect server.js

--inspect-brkপরিবর্তে পাস করে আপনি প্রথম লাইনেও ব্রেক করতে পারেন ।


2
উপরের পদক্ষেপগুলি ছাড় না দিয়ে, কেবল ভাগ করে নেওয়ার জন্য ... আমি এমন একটি মোড়ক তৈরি করার চেষ্টা করেছি যা আরও বেশি শক্তিশালী, পাশাপাশি ইনস্টল করা সহজ। দেখুন: github.com/jaridmargolin/inspect-process
Jarid R. Margolin

1
@ জারিডআর.মার্গোলিন নিস। আমি পরিবর্তে এটি ব্যবহার করার উত্তর আপডেট করেছি। সেটআপ করা অনেক সহজ এবং আরও ভাল কাজ করে :)
গ্রেগাররা

2
এই উত্তরটি বর্তমানে নীচে রয়েছে এবং এটি কেবলমাত্র আমার পক্ষে কাজ করেছে। এটি দুর্দান্ত ফ্লিপিং করছে!
LOAS

3
এটি যদি কাউকে সহায়তা করে তবে আমি এই প্রক্রিয়াটি ব্যাখ্যা করে একটি ভিডিও youtu.be/rtZKUnn66j এ ছুঁড়ে দিয়েছি ।
রোকোবি

2
আপনি ক্রোম বিকাশকারী সরঞ্জামগুলির জন্য অন্ধকার থিমটি কোথায় পেয়েছেন?
পিটার মাইরেসন

93

নোড.জেএস সংস্করণ 0.3.4+ বিল্ট-ইন ডিবাগিং সমর্থন করে।

node debug script.js

ম্যানুয়াল: http://nodejs.org/api/debugger.html


1
এটি কীভাবে ব্যবহার করবেন তার ডকুমেন্টেশনের কোনও লিঙ্ক আছে?
ফ্যাবিয়ান জ্যাকবস

2
আমার কাছে কোনও ডক্স নেই। সবেমাত্র v0.3.5 এ আপডেট হয়েছে। একটি লাইন রাখুন "ডিবাগার;" আপনার কোড যা বিরতি পয়েন্ট হিসাবে কাজ করবে। এটি এনডিবি / জিডিবির মতো কাজ করে। আপনি "নোড ডিবাগ স্ক্রিপ্ট.জেএস" টাইপ সহায়তা করার পরে। আপনি যে কমান্ডটি সমর্থন করছেন তা দেখতে পাবেন। পি = প্রিন্ট, এল = তালিকা ... যাতে আপনার পুরো বিশ্ব টাইপ করার দরকার নেই
জুলিয়ানডাব্লু

2
দ্রষ্টব্য, উইন্ডোজের নীচে এটি "node.exe --debug myscript.js" তবে এটি এখনও কাজ করে না।
মার্ক

6
আপনার সম্ভবত ড্যাশ ছাড়াই পরিবর্তন --debugকরতে হবে debug। অবশেষে আমি এটি কাজ করতে পেলাম। এটি বিভ্রান্তিকর --debugএবং debugদুটি ভিন্ন কাজ করে।
বেনকাস্টঃ

আপনি প্রোগ্রামটি আসলে চালানোর জন্য কীভাবে পাবেন? "আর -> app is already running...", যখন আমি চালিয়ে যাওয়ার চেষ্টা করি এবং যখন আমি একটি বিবৃতিতে প্রবেশ করি যা ইনপুট পাওয়ার চেষ্টা করে তখন এটি আমাকে প্রয়োজনীয় ইনপুটটিতে প্রবেশ না করার পরিবর্তে আমাকে ডিবাগ প্রম্পটে ফিরিয়ে দেয়।
মাইকেল 23

70

ডিবাগিংয়ের জন্য ভিজ্যুয়াল স্টুডিও কোডটি আমার পছন্দ হবে। কোনও সরঞ্জাম বাnpm installস্টাফইনস্টল করার জন্য কোনও ওভারহেড নেই। প্যাকেজে আপনার অ্যাপের প্রারম্ভিক বিন্দুটি সেট করুন.জসন এবং ভিএসকোড স্বয়ংক্রিয়ভাবে আপনার সমাধানের ভিতরে একটি কনফিগারেশন ফাইল তৈরি করবে। এটি বিল্ড অনইলেক্ট্রন, যার উপরে অ্যাটমের মতো সম্পাদক তৈরি করা হয়েছে।

ভিএস কোড অনুরূপ ডিবাগিংয়ের অভিজ্ঞতা দেয় যেমন আপনি অন্যান্য আইডিই যেমন ভিএস, ইক্লিপস ইত্যাদিতে পেয়েছিলেন gives

এখানে চিত্র বর্ণনা লিখুন এখানে চিত্র বর্ণনা লিখুন


এটি দুর্দান্ত তবে পিছিয়ে গেছে। এজন্যই আমি কখনও সাব্লাইমকে পছন্দ করি না।
24:48

3
তবে মহাবিশ্বের কোনও ডিবাগার নেই, এবং আমি মনে করি ভিএস
সৈয়দ ফয়জান

1
আমি 5 বছর আগে থেকে একটি মহৎ লাইসেন্স পেয়েছি। কয়েক মাস আগে যেহেতু আমি এমনকি সাব্লাইম টেক্সট ইনস্টল করি না, কেবল vscode করুন। বাক্সের বাইরে প্রচুর সরঞ্জাম রয়েছে যা আমি সাব্লাইমে মিস করি (সংহত টার্মিনালের মতো ..)।
এলব্লেটায়ার

সর্বদা আমাকে একটি কনফিগার ফোল্ডারের জন্য জিজ্ঞাসা করছে, এটি বক্সের বাইরে চলে না
কারকড

@ কারকোড বনাম কোড অটো সংযুক্তি অগ্রাধিকার সক্ষম করুন এবং আপনার স্ক্রিপ্টটি শুরু করতে বনাম কোড টার্মিনালটি ব্যবহার করুন , প্রাক্তন নোড - ইনস্পেক্ট ফাইল-name.js
বিপুল দেসাই

57

আমি ব্যক্তিগতভাবে জেটব্রেইনস ওয়েবসটর্মটি ব্যবহার করি কারণ এটি কেবলমাত্র জাভাস্ক্রিপ্ট আইডিইই খুঁজে পেয়েছে যা সম্মুখ এবং ব্যাকএন্ড জাভাস্ক্রিপ্ট উভয়েরই জন্য দুর্দান্ত।

এটি একাধিক ওএস-তে কাজ করে এবং এতে নোড.জেএসস বিল্ট-ইন (পাশাপাশি আরও একটি টন অন্যান্য সামগ্রী) রয়েছে ( http://www.jetbrains.com/webstorm/features/index.html )।

আমার কেবল 'ইস্যু' / ইচ্ছার তালিকার আইটেম হয় ছিল :

  1. এটি উইন্ডোজের চেয়ে ম্যাকের বেশি ক্ষুধার্ত বলে মনে হচ্ছে এটি আর 6 সংস্করণে কোনও সমস্যা বলে মনে হচ্ছে না।
  2. এটির স্নিপেট সমর্থন থাকলে ( সাব্লাইম টেক্সট 2 এর মতো - যেমন 'মজা' টাইপ করুন এবং কোনও ফাংশন রাখতে 'ট্যাব' এ আলতো চাপ দিন। নীচে @ উইকিনিলিয়ামস মন্তব্য দেখুন - লাইভ টেম্পলেটগুলির সাথে আপনার স্নিপেট সমর্থনও রয়েছে।

10
ওয়েবস্টর্মটিতে স্নিপেট সমর্থন বিটিডব্লু ;-) রয়েছে যদিও তারা স্নিপেটের পরিবর্তে "লাইভ টেম্পলেট" হিসাবে পরিচিত।
উইকিনিলিয়ামস

3
আপনি যদি কেবল একটি নোড.জেএস অ্যাপ্লিকেশনটি ডিবাগ করতে চান এবং ইতিমধ্যে একটি ইন্টেলিজ আইডিইএ লাইসেন্স পেতে চান তবে ওয়েবস্টর্ম লাইসেন্স না কিনে কেবল নোড.জেএস প্লাগইন ইনস্টল করতে পারেন। একবার প্লাগইন ইনস্টল হয়ে গেলে রান / ডিবাগ কনফিগার সেটআপ করা খুব সহজ।
জোশ লিপটজিন

42

এখানে অনেক দুর্দান্ত উত্তর, তবে আমি আমার দৃষ্টিভঙ্গি যুক্ত করতে চাই (আমার পদ্ধতির কীভাবে বিবর্তন হয়েছে তার উপর ভিত্তি করে)

ডিবাগ লগ

চলুন শুরু করা যাক, আমরা সব ভালবাসা কি করে ভাল console.log('Uh oh, if you reached here, you better run.')এবং কখনও কখনও যে কাজ করে মহান, তাই যদি তুমি স্বল্পভাষী অতিদূরে অন্তত এটা থেকে দূরে সরাতে সঙ্গে আপনার লগ কিছু bling যোগ করার জন্য Visionmedia এর ডিবাগ

ইন্টারেক্টিভ ডিবাগিং

কনসোল লগিং যেমন সুবিধাজনক হতে পারে, পেশাদারভাবে ডিবাগ করার জন্য আপনাকে নিজের হাতা রোল করতে হবে এবং আটকে যেতে হবে break ব্রেকপয়েন্টগুলি সেট করুন, আপনার কোডের মধ্য দিয়ে পদক্ষেপ নিন, কী কী অদ্ভুত আচরণের কারণ ঘটছে তা দেখার জন্য ব্রেকপয়েন্টগুলি সেট করুন sc অন্যরা যেমন বলেছে, নোড-ইন্সপেক্টর হ'ল মৌমাছি-হাঁটু। এটি বিল্ট-ইন ডিবাগারের সাথে আপনি যা করতে পারেন সবকিছু করে তবে সেই পরিচিত ক্রোম ডেভটুলস ইন্টারফেসটি ব্যবহার করে। যদি আমার মতো আপনিও ওয়েবস্টর্ম ব্যবহার করেন তবে সেখান থেকে ডিবাগিংয়ের জন্য এখানে একটি সহায়ক গাইড।

স্ট্যাক ট্রেস

ডিফল্টরূপে, আমরা ইভেন্ট লুপ (টিক্স) এর বিভিন্ন চক্র জুড়ে ক্রিয়াকলাপের সন্ধান করতে পারি না। এটি ঘুরে দেখার জন্য লংজোন (তবে উত্পাদনে নয়!) দেখুন।

স্মৃতি ফাঁস

নোড.জেএস এর সাহায্যে আমাদের একটি সার্ভার প্রক্রিয়া যথেষ্ট সময়ের জন্য অব্যাহত থাকতে পারে। আপনি যদি মনে করেন এটি কিছু কদর্য ফুটো করেছে? কিছু স্ন্যাপশট তুলনা করতে এবং কি পরিবর্তন হচ্ছে তা দেখতে হ্যাপডাম্প এবং ক্রোম ডেভটুলগুলি ব্যবহার করুন ।


কিছু দরকারী নিবন্ধ জন্য, চেক আউট

আপনি যদি কোনও ভিডিও (গুলি) দেখে মনে করেন তবেই

আপনি যে কোনও পথ বেছে নিন না কেন আপনি কীভাবে ডিবাগ করছেন তা নিশ্চিত হয়েই নিশ্চিত হন

এখানে চিত্র বর্ণনা লিখুন


আপনার নিজের সমস্যাটি দেখার জন্য এটি একটি বেদনাদায়ক জিনিস এবং
আপনি নিজেই এবং অন্য কেউ এটি তৈরি করেননি তা জানুন

সোফোক্লস, আজাক্স


41

থিসাস হ'ল অ্যাডোব গবেষণার একটি প্রকল্প যা আপনাকে আপনার নোড.জেএস কোডটি তাদের মুক্ত উত্স সম্পাদক বন্ধনীগুলিতে ডিবাগ করতে দেয় । এটিতে রিয়েল-টাইম কোড কভারেজ, বিপরীতমুখী পরিদর্শন, অ্যাসিনক্রোনাস কল ট্রি হিসাবে কিছু আকর্ষণীয় বৈশিষ্ট্য রয়েছে।

স্ক্রিনশট


এটি বেশ দুর্দান্ত, তবুও জানেন না যে তার
পিছনে

আমি বর্তমানে থিসাসকে ভালবাসি, তবে এখনও আমার কিছু সমস্যা রয়েছে যেখানে আমার ব্রেকআপপয়েন্ট স্থাপন করতে হবে এবং এটির সন্ধান করতে হবে। আমি বর্তমানে আমার অ্যাপ্লিকেশনটি মেরে ফেলছি, --debug দিয়ে নোড শুরু করব, ট্রুফকে ট্রেস করব এবং তারপরে নোড-থিসাস দিয়ে অ্যাপ্লিকেশনটি শুরু করব। ব্রেকসপয়েন্ট সহ থিসাস ব্যবহার করা কি সম্ভব? আমি গিটহাব পৃষ্ঠা, স্ট্যাকওভারফ্লো এবং ফোরামের চারপাশে অনুসন্ধান করার চেষ্টা করেছি, তবে এখনও ভাগ্য নেই with আমি কিছু অনুপস্থিত করছি?
ইউজিন

25

ভিজ্যুয়াল স্টুডিও 2012 বা 2013 এর জন্য নোড.জেএস সরঞ্জামগুলিতে একটি ডিবাগার রয়েছে। এখানে সংক্ষিপ্ত বিবরণে বলা হয়েছে "ভিজুয়াল স্টুডিওর জন্য নোড.জেএস সরঞ্জামগুলি ডিবাগিং নোড অ্যাপ্লিকেশনগুলির জন্য সম্পূর্ণ সমর্থন অন্তর্ভুক্ত" " নোড.জেজে নতুন হওয়া, তবে। নেট এ ব্যাকগ্রাউন্ড থাকা, আমি এইটিকে নোড.জেএস অ্যাপ্লিকেশনগুলি ডিবাগ করার দুর্দান্ত উপায় হিসাবে খুঁজে পেয়েছি।


23

ভিজ্যুয়াল স্টুডিও কোডটিতে সত্যিই দুর্দান্ত নোড.জেএস ডিবাগিং সমর্থন রয়েছে। এটি ফ্রি, ওপেন সোর্স এবং ক্রস-প্ল্যাটফর্ম এবং লিনাক্স, ওএস এক্স এবং উইন্ডোজে চলে runs

এমনকি আপনি উদ্বেগ ও ঝাঁকির কাজগুলিও ডিবাগ করতে পারেন , আপনার যদি প্রয়োজন হয় ...


1
ওএসএক্স এবং লিনাক্সের জন্য ডিবাগিং সমর্থন ভিজ্যুয়াল স্টুডিও কোড 8.0 থেকে শুরু করে সত্যই ভাল পেয়েছে।
বিজিএসে

পুরো সন্ধ্যা ব্যয় করে নোড-ইন্সপেক্টর এবং স্ট্র্যাডলুপটি উইন্ডোজের নীচে কাজ করতে হবে (ভিজ্যুয়াল স্টুডিও সম্প্রদায়, এনপিএম 2-এ ডাউনগ্রেড, পাইথন ইনস্টল করা, এনভিভ ভেরিয়েবলগুলি, সেমিডড নয় বাবুন / সাইগুইন ইত্যাদি ব্যবহার করুন) এবং তারপরে এটি এক ঘন্টার জন্য খেলুন , আমাকে বলতে হবে এটি কমপক্ষে উইন্ডো এবং সম্ভবত সাধারণভাবে (যদি আপনার ওয়েবস্টোন না থাকে) সেরা বিকল্প
দশম্বলগুলি

22

আমি নোড.জেএস কোডটি ডিবাগ করার জন্য একটি পৃথক পদ্ধতি লিখেছিলাম যা স্থিতিশীল এবং অত্যন্ত সহজ। এটি 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 (সার্ভার জেএস ফাইলের নাম)

  1. ক্রোমে আপনার অ্যাপ্লিকেশন ব্রাউজ করুন যেমন "লোকালহোস্ট: পোর্ট"
  2. দেবটুলগুলি খুলুন।
  3. প্রতিক্রিয়াশীল ডিভাইস আইকনের পাশে নোড আইকনটি ক্লিক করুন।

এখানে চিত্র বর্ণনা লিখুন

আর একটি ডিভটুলস উইন্ডো থাকবে যা বিশেষত নোড অ্যাপটিকে ডিবাগ করার জন্য পপ আউট করবে।

এখানে চিত্র বর্ণনা লিখুন


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

নোড.জেএস এর মধ্যে অন্তর্নির্মিত কমান্ড লাইন ডিবাগার ক্লায়েন্ট রয়েছে। ক্লাউড 9 আইডিইতে বেশ সুন্দর (ভিজ্যুয়াল) ডিবাগারও রয়েছে


ক্লাউড 9 আমার পক্ষে যাওয়ার উপায় especially
তেওমান শিপাহি



8

ওয়েবস্টর্ম ব্যবহার করুন! এটি নোড.জেএস অ্যাপ্লিকেশনগুলি ডিবাগ করার জন্য উপযুক্ত। এটি একটি অন্তর্নির্মিত ডিবাগার আছে। ডক্সটি এখানে দেখুন: https://www.jetbrains.com/help/webstorm/2016.1/running-and-debugging-node-js.html


8

আপনার নোড প্রক্রিয়া --inspect পতাকা দিয়ে শুরু করুন ।

node --inspect index.js

এবং তারপরে chrome://inspectক্রোমে খুলুন । "নোডের জন্য ডেডিকেটেড ডিভটুলগুলি খুলুন" লিঙ্কটি ক্লিক করুন বা ক্রোম ডেভটুলগুলি সহজেই খোলার জন্য এই ক্রোম এক্সটেনশনটি ইনস্টল করুন ।

আরও তথ্যের জন্য এই লিঙ্কটি দেখুন


7

আপনার যদি নোড.জেএস এর জন্য শক্তিশালী লগিং লাইব্রেরি প্রয়োজন হয় তবে ট্রেসার https://github.com/baryon/tracer আরও ভাল পছন্দ।

এটি টাইমস্ট্যাম্প, ফাইলের নাম, পদ্ধতির নাম, লাইন নম্বর, পাথ বা কল স্ট্যাক, রঙের কনসোলকে সমর্থন করে এবং সহজে ডেটাবেস, ফাইল, স্ট্রিম পরিবহন সহ লগ বার্তাগুলিকে আউটপুট করে। আমি লেখক।


7

ধরে নিই যে আপনার কম্পিউটারে নোড-ইন্সপেক্টর ইনস্টল আছে (যদি তা না হয় তবে কেবল 'এনপিএম ইনস্টল-জি নোড-ইন্সপেক্টর' টাইপ করুন) আপনাকে চালনা করতে হবে:

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

এবং কমান্ড লাইন থেকে ইউআরআই একটি ওয়েবকিট (ক্রোম / সাফারি) ব্রাউজারে পেস্ট করুন।


1
নোড-ইন্সপেক্টর ইতিমধ্যে উল্লেখ করা হয়েছিল ; এই উত্তরটি মুছতে পারে?
ড্যান ড্যাসক্লেস্কু



5

অনেক সম্ভাবনা আছে ...

ডিবাগ সমর্থন প্রায়শই v8 ডিবাগিং প্রোটোকল বা নতুন ক্রোম ডিবাগিং প্রোটোকল ব্যবহার করে প্রয়োগ করা হয় ।


5

নতুন ওপেন-সোর্স নোডক্লিপস প্রকল্প রয়েছে (একটি এক্সপ্লিস প্লাগইন বা এনাইড স্টুডিও হিসাবে ):

নোডক্লিপস ২০১৩ সালের জন্য এক্সপ্লিপ শীর্ষ ১০ টি নতুন প্লাগইনগুলিতে # 1 হয়েছে । এটি একটি সংশোধিত ভি 8 ডিবাগার (জাভার জন্য গুগল ক্রোম বিকাশকারী সরঞ্জাম থেকে) ব্যবহার করে।

নোডক্লিপস হ'ল বিনামূল্যে ওপেন সোর্স সফটওয়্যারটি প্রতি মাসের শুরুতে প্রকাশিত হয়


4

NetBeans আইডিই Node.js যেহেতু সমর্থন করেছে সংস্করণ 8.1 :

<...>

নতুন বৈশিষ্ট্য হাইলাইট

নোড.জেএস অ্যাপ্লিকেশন বিকাশ

  • নতুন নোড.জেএস প্রকল্প উইজার্ড
  • নতুন নোড.জেএস এক্সপ্রেস উইজার্ড
  • বর্ধিত জাভাস্ক্রিপ্ট সম্পাদক
  • নোড.জেএস অ্যাপ্লিকেশনগুলি চালনার জন্য নতুন সমর্থন
  • নোড.জেএস অ্যাপ্লিকেশনগুলি ডিবাগ করার জন্য নতুন সমর্থন।

<...>

অতিরিক্ত রেফারেন্স:

  1. নেটবিয়ান্স উইকি / নিউএন্ডনোটেয়ার এনবি 81
  2. নেটবেইনস আইডিই, জির্তজান-ওরাকল-এ নোড.জেএস এক্সপ্রেস অ্যাপ



3

আপনার পছন্দসই ব্রাউজার ডিবাগারের সাথে ছোট নোড.জেএস স্ক্রিপ্টগুলি ডিবাগ করার একটি দ্রুত এবং নোংরা উপায় ব্রাউজরিফাই ব্যবহার করা হবে । মনে রাখবেন যে এই অ্যাপ্লিকেশনটি এমন কোনও অ্যাপ্লিকেশনগুলির সাথে কাজ করে না যার জন্য নেটিভ I / O লাইব্রেরি প্রয়োজন, তবে বেশিরভাগ ছোট স্ক্রিপ্টগুলির জন্য এটি যথেষ্ট ভাল।

$ npm install -g browserify

এখন আপনার সমস্ত var x = requires('x')কল একটি requires.jsফাইলের মধ্যে সরান এবং চালান:

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

(এখানে খারাপ দিকটি হ'ল আপনাকে হয় requiresআপনার সমস্ত ফাইলগুলিতে মন্তব্য স্থানান্তর করতে হবে বা মন্তব্য করতে হবে))

এর bundle.jsমতো একটি এইচটিএমএল ফাইলটিতে অন্তর্ভুক্ত করুন :

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

এখন আপনার ব্রাউজারে ফাইলটি লোড করুন এবং টিপুন F12এবং ভায়োলা: ব্রাউজারে ডিবাগ করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.