2011-02-07 9 views
15

क्या कोई डिबगिंग सिस्टम है जो मुझे जावास्क्रिप्ट फ़ंक्शन कॉल और उनके पैरामीटर रिकॉर्ड करने की अनुमति देता है? यह मुझे मैन्युअल लॉगिंग के कारण प्रदर्शन हिट के बिना लाइव/क्लाइंट स्थितियों में अनुप्रयोगों का पता लगाने और डीबग करने की अनुमति देगा।रिकॉर्डिंग कॉल कॉल और पैरामीटर रिकॉर्ड करके लाइव जावास्क्रिप्ट डिबगिंग

संपादित करें: मैं मैन्युअल रूप से 'कंसोल' विंडो का उपयोग करके कार्यों को मैन्युअल रूप से कॉल करने और परिणामों को देखने, या मैन्युअल रूप से 'ट्रेस' या 'लॉग' कमांड को जोड़ने के बारे में बात नहीं कर रहा हूं। मुझे किसी भी चल रहे जावास्क्रिप्ट के साथ काम करने की ज़रूरत है।

उत्तर

18

क्या आप Function.prototype.call को ओवरराइड कर सकते हैं और तर्क और तर्क पुनर्प्राप्त कर सकते हैं।

यह सभी कार्यों पर रिपोर्टिंग का प्रभाव होगा और इसलिए सुपर वर्बोज़ होने पर, लेकिन शायद आप फ़िल्टर करना चाहते हैं। इसकी केवल आईई लेकिन सुंदर रफ़ू अच्छा, जे द्वारा यह लेख देखें -

तो फिर तुम आप कैसे रिपोर्ट करने के लिए, शायद के साथ करता है, तो (कंसोल) console.log

+1

यह एक शानदार विचार है। – mwilcox

+0

शानदार विचार, लेकिन कोई जीयूआई प्रदान नहीं किया! अगर मुझे कुछ पुष्टि मिली कि डायनाट्रेस ने फंक्शन कॉल पकड़े तो मैं वहां इनाम से सम्मानित होता, लेकिन तब तक, आपका सबसे अच्छा विचार है। –

+0

क्या कोई इसका उदाहरण प्रदान कर सकता है? यदि आप आईई या एफएफ में इस (http://jsfiddle.net/b7Sny/) कार्यान्वयन को देखते हैं, तो केवल एक चेतावनी है जब मैं उम्मीद करता हूं कि वहां दो होंगे। दूसरे शब्दों में, यदि मैं 'myfunction.call()' का उपयोग करता हूं, तो यह उत्तर काम पर प्रतीत होता है, लेकिन यदि मैं 'myfunction() 'निष्पादित नहीं करता हूं। – user979672

0

यदि आप ब्राउज़र-पक्ष जावास्क्रिप्ट dedub के बारे में बात कर रहे हैं तो आप फ़ायरबग का उपयोग कर सकते हैं, जो एक उत्कृष्ट उपकरण है।

http://getfirebug.com/

यहाँ आप एक कदम-दर-कदम ट्यूटोरियल पा सकते हैं:

http://www.digitalmediaminute.com/screencast/firebug-js/

0

हां। सभी प्रमुख ब्राउज़रों में डिबगर अंतर्निहित (आईई, क्रोम, सफारी) है, या ऐड-ऑन (फ़ायरफ़ॉक्स के लिए फ़ायरबग) के रूप में उपलब्ध है।

0

फ़ायरबग इसके लिए अच्छा है। या आप Google क्रोम के बिल्ट-इन डीबगर का भी उपयोग कर सकते हैं।

2

@ जेन्को यदि आप आईडीई डीबगर के समान कुछ ढूंढ रहे हैं, तो उस मामले में इंटरनेट एक्सप्लोरर 8 और 9 में एक अंतर्निहित डेवलपर टूल्स (प्रेस एफ 12) है और क्रोम में डेवलपर टूल्स भी हैं। आईई और क्रोम दोनों आपको अपने कोड में ब्रेकपॉइंट्स सेट करने की अनुमति देते हैं और इसे चलाने के दौरान इसके माध्यम से कदम उठाते हैं। फ़ायरफ़ॉक्स में फ़ायरबग है, जिसे अन्य ने उल्लेख किया है, और यह भी ब्रेकपॉइंट्स सेट करने और आपके कोड के निष्पादन की जांच करने की अनुमति देता है। ओपेरा में ड्रैगनफ्लाई (अंतर्निर्मित) है और इसमें अन्य ब्राउज़रों के समान सुविधाएं हैं।

3

आप http://ajax.dynatrace.com/ajax/en/ पर एक नज़र ले सकता है चाहता हूँ की सवाल है । Resig: http://ejohn.org/blog/deep-tracing-of-internet-explorer/> "..dynaTrace कुछ जानकारी प्रदान करता है जिसे मैंने पहले कभी नहीं देखा - किसी भी ब्राउज़र पर किसी भी उपकरण में।"

+0

कमाल लग रहा है! ऐसा कुछ नहीं पता था जैसे कि यह इतने लंबे समय तक रहा था! – Jon

0
IE के लिए फ़ायरफ़ॉक्स Firebug के लिए

क्रोम के लिए उपकरण deeloper निर्मित डिबगर

2

उपयोग करने के लिए जैसा कि मैंने जवाब पढ़ रहा था और के डुप्लिकेट उत्तरों पर हँस अच्छा है "आप Firebug का उपयोग कर सकते हैं!" मुझे एहसास हुआ .... आप फायरबग का उपयोग कर सकते हैं।

गंभीरता से, इसमें एक "प्रोफ़ाइल" कमांड है जो वास्तव में आप जो पूछ रहे हैं वह करता है। सफारी और क्रोम में यह सुविधा है ताकि आप वहां भी जांच सकें। आईई 8/9 में एक "प्रोफाइलर" उपकरण है जो समान है (लेकिन मुझे नहीं पता कि इसे जावास्क्रिप्ट से कंसोल.प्रोफाइल() के साथ कहा जा सकता है)

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

enter image description here

0

यकीनन सबसे अच्छा ऑनलाइन जावास्क्रिप्ट कोड गुणवत्ता नियंत्रण JSLint है। यह न केवल त्रुटियों के लिए कोड की जांच करता है, यह प्रोग्राम की कोडिंग शैली को पूरी तरह से < < में सुधारता है, यही वजह है कि लेखक ने इसे पहले स्थान पर बनाया है। मेरे 0,02 $

http://www.jslint.com/

2

मैंने पाया fireflow: https://addons.mozilla.org/en-us/firefox/addon/fireflow/ अविश्वसनीय उपयोगी।

+0

यह 2016 में काम नहीं करता है! फ़ायरबग फ़ायरफ़ॉक्स DevTool में विलय किया प्रतीत होता है। मुझे यह हैक मिला: https://javascriptweblog.wordpress.com/2010/06/01/a-tracer-utility-in-2kb/ कि मैं कोशिश करने जा रहा हूं। –

संबंधित मुद्दे