2009-03-04 5 views
42

में डीबग जावास्क्रिप्ट Iclipse में जावास्क्रिप्ट को कैसे डिबग कर सकता है। मैं ग्रहण 3.2.1 का उपयोग कर रहा हूँ। हर बार जब मैं पक्ष पर क्लिक करता हूं तो यह बुकमार्क जोड़ने के लिए विकल्प देता है लेकिन कोई ब्रेक पॉइंट नहीं देता है।ग्रहण

क्या कोई इस पर मेरी सहायता कर सकता है?

उत्तर

10

मैं नहीं मानता कि ग्रहण एक JavaScript डीबगर है - उन breakpoints जावा कोड के लिए कर रहे हैं (मैं आप संपादन कर रहे एक JSP फ़ाइल अनुमान लगा रहा हूँ?)

उपयोग Firebug जावास्क्रिप्ट कोड डिबग करने के लिए, यह एक उत्कृष्ट add- है उस पर सभी वेब डेवलपर्स को अपने टूलबॉक्स में होना चाहिए।

+1

फायरबग की उत्कृष्टता के बारे में सहमति है, लेकिन इसकी सीमाएं हैं। जैसे जिस पृष्ठ पर मैं काम कर रहा हूं वह> 200 जेएस-फाइल है, और यह बेहद मूर्ख और परेशान है कि मैं अपने फ़ायरफ़ॉक्स सत्रों पर ब्रेकपॉइंट्स को जारी नहीं रख सकता। इसके अलावा, मैं वास्तव में ग्रहण की उन्नत कार्यक्षमता खो रहा हूं (ब्रेकपॉइंट्स को अक्षम करना, सशर्त ब्रेकपॉइंट्स, ...) –

+0

फायरबग के साथ उत्कृष्ट जवाब! –

+0

पुन: "जावास्क्रिप्ट कोड डीबग करने के लिए फ़ायरबग का उपयोग करें, यह एक उत्कृष्ट ऐड-ऑन है कि सभी वेब डेवलपर्स को अपने टूलबॉक्स में होना चाहिए।" - यह काम करता है यदि आप ब्राउज़र में चलाने के लिए लिखे गए कोड को डीबग कर रहे हैं, लेकिन यदि आप जेएस सर्वर-साइड चला रहे हैं, (यानी) जावा में राइनो इंजन के साथ। –

4

ब्राउज़र में जावास्क्रिप्ट को निष्पादित किया जाता है, जो ग्रहण से काफी दूर है। ग्रहण को किसी भी तरह से ब्राउज़र के जावास्क्रिप्ट इंजन में इसे डीबग करने के लिए हुक करना होगा। इसलिए एक्लिप्स के माध्यम से जावास्क्रिप्ट का कोई अंतर्निहित डिबगिंग नहीं है, क्योंकि जेएस वास्तव में इसका मुख्य फोकस नहीं है।

हालांकि, ऐसे प्लग-इन हैं जिन्हें आप जावास्क्रिप्ट डीबगिंग करने के लिए इंस्टॉल कर सकते हैं। मेरा मानना ​​है कि मुख्य एक AJAX Toolkit Framework (ATF) है। यह अपनी डिबगिंग करने के लिए ग्रहण में एक मोज़िला ब्राउज़र एम्बेड करता है, इसलिए यह जावास्क्रिप्ट लिखते समय आम तौर पर उत्पन्न होने वाली क्रॉस-ब्राउज़र जटिलताओं को संभालने में सक्षम नहीं होगा, लेकिन यह निश्चित रूप से सहायता करेगा।

9

मैं 100% निश्चित नहीं हूं लेकिन मुझे लगता है कि Aptana चलिए आप ऐसा करते हैं।

+1

मुझे कुछ समय Aptana कोशिश करना होगा, मैं इसके बारे में अच्छी चीजें सुनता रहता हूं, और यह सिर्फ सूची में जोड़ता है। –

+1

+1। Aptana आपको फ़ायरफ़ॉक्स दोनों में जावास्क्रिप्ट डीबग करने देगा और (यदि आप प्रो संस्करण के लिए भुगतान करते हैं) आईई। –

5

मैंने अपने उबंटू 10.4 पर एपटाना चलाने की कोशिश की। दुर्भाग्य से मैं सफल नहीं हुआ। दूसरी ओर क्रोम में एक ग्रहण प्लगइन है जो आपको क्रोम इंस्टेंस में चल रहे जावास्क्रिप्ट को डीबग करने देता है। बहुत अच्छी तरह से काम करता है। आप ग्रहण प्लगइन आप यहाँ मिल जाएगा स्थापित करना होगा:

जावास्क्रिप्ट स्रोतों में

http://code.google.com/p/chromedevtools/

सेट ब्रेकप्वाइंट आप क्रोम में ग्रहण और ब्राउज़र अपने पृष्ठ में संपादित करें। जैसे ही जावास्क्रिप्ट ब्रेकपॉइंट मारा जाता है, ग्रहण डीबगर बंद हो जाता है और आपको कदम उठाने, चरणबद्ध करने, चर ब्राउज़ करने आदि देता है। बहुत अच्छा!

+0

आपने शायद अपने उबंटू इंस्टॉलेशन के साथ ओपनजेडीके इंस्टॉल किया है। ओपनजेडीके समर्थित नहीं है। –

+1

टिप के लिए धन्यवाद। मुझे परीक्षण के लिए एक वेबकिट आधारित ब्राउज़र की आवश्यकता है ताकि क्रोम यह हो और मैं हमेशा दूसरों के ऊपर ग्रहण आईडीई पसंद करता हूं। यह हल्का वजन नहीं है लेकिन इसकी अंतर्ज्ञानी और अत्यधिक अनुकूलन योग्य है। – Mike6679

3

ब्राउज़र द्वारा समर्थित डिबगिंग टूल का उपयोग करें। जैसा ऊपर बताया गया है फ़ायरफ़ॉक्स फ़ायरफ़ॉक्स के लिए फ़ायरबग क्रोम आईई के लिए आईई डेवलपर।

इस तरह आप क्रॉस-ब्राउज़र समस्याओं का पता लगा सकते हैं। क्रॉस-ब्राउज़र समस्याओं को कम करने में मदद के लिए, जावास्क्रिप्ट फ्रेमवर्क यानी jQuery, वाईयूआई, म्यू टूल्स इत्यादि का उपयोग करें

नीचे एक स्क्रीनशॉट (जावास्क्रिप्ट-डीबग.png) है जो फ़ायरबग में नींबू दिखता है।
1) 'F12'
2) 'स्क्रिप्ट' टैब पर क्लिक करें और 'इसे सक्षम' (यदि आप अपने पृष्ठ पर पहले से ही कर रहे हैं मारा - करने के लिए 'F5' मारा फिर से लोड)
3) 'सभी के बगल में 'नीचे उतरो, दाहिने ओर एक और गिरावट होगी। उस ड्रॉपडाउन से अपनी जावास्क्रिप्ट फ़ाइल का चयन करें।
स्क्रीनशॉट में, मैंने 'बाएं-माउस-क्लिक' द्वारा लाइन 42 पर ब्रेक-पॉइंट सेट किया है। यह आपको तोड़ने के लिए सक्षम हो जाएगा, निरीक्षण, घड़ी, आदि

enter image description here

3

यह AJAX Tools Framework का उपयोग कर ग्रहण में breakpoints सेट करके जावास्क्रिप्ट डिबग करने के लिए संभव है।

29

2015 में, वहाँ ग्रहण में जावास्क्रिप्ट डीबगिंग के लिए कम से कम छह विकल्प हैं:

  • नई ग्रहण 3.7 के बाद से: JavaScript Development Tools debugging support। ऊष्मायन भाग CrossFire समर्थन सूचीबद्ध करता है। इसका मतलब है कि कोई भी जावा व्यूअर परिवर्तन के बिना पेज व्यूअर के रूप में फ़ायरफ़ॉक्स + फ़ायरबग का उपयोग कर सकता है।
  • नई अक्टूबर 2012 के बाद से: VJET JavaScript IDE
  • Ajax Tools Framework
  • Aptana जावास्क्रिप्ट डिबगिंग क्षमता प्रदान करता है।
  • वाणिज्यिक MyEclipse IDE भी JavaScript debugging support
  • MyEclipse रूप में एक ही स्थिर से है, Webclipse प्लग में एक ही जावास्क्रिप्ट डीबगिंग प्रौद्योगिकी है।

ऊपर करने के लिए जोड़ा जा रहा है, यहाँ वीडियो है जिस पर ध्यान केंद्रित "डीबगिंग जावास्क्रिप्ट ग्रहण का उपयोग कर" के एक जोड़े

पुराने हैं

+0

@ user203687 आप केवल उत्तर संपादित कर सकते हैं। मैंने इसे "समुदाय विकी" के रूप में चिह्नित किया है ताकि इसे हर किसी में सुधार किया जा सके। – koppor

+0

धन्यवाद, ऐसा किया। – user203687

+1

मैं Aptana स्टूडियो स्टैंडअलोन का उपयोग करने से बचूंगा, फ़ायरफ़ॉक्स के लिए डीबगर प्लगइन केवल फ़ायरबग वी 8 या पुराने का उपयोग कर सकता है। मैं Aptana का उपयोग कर रहा था जब तक कि मेरे कुछ अन्य प्लगइन्स ने केवल नए फ़ायरबग का समर्थन नहीं किया ... Aptana ग्रहण पर आधारित है और आप अभी भी ग्रहण के लिए Aptana प्लगइन का उपयोग कर सकते हैं आईएमएचओ एक डायनामाइट संयोजन –

2

MyEclipse के लिए कुछ बग फिक्स के साथ Nodeclipse 0.2 (ग्रहण आधारित, सदस्यता आवश्यक) और Webclipse (ग्रहण प्लग में, वर्तमान में नि: शुल्क), मेरी कंपनी, Genuitec से, नव (2015) के रूप में JavaScript debugging में बनाया इंजीनियर है

enter image description here

आप दोनों सामान्य वेब अनुप्रयोगों और Node.js फ़ाइलें डीबग कर सकते हैं।

+0

मुझे लगता है कि स्टैक ओवरफ्लो नियमों का आपको उल्लेख करने की आवश्यकता है यदि आप किसी ऐसे उत्पाद से संबद्ध हैं जो आप अनुशंसा करते हैं। – darklon

+0

मैंने सोचा कि मैंने इसे अपने प्रोफाइल आइकन (MyEclipse) के साथ किया होगा लेकिन इसे कंपनी लोगो में अपडेट किया है। आप सही हैं, मुझे इसका स्पष्ट रूप से उल्लेख करना चाहिए था। मैं अपना जवाब संपादित करूंगा। –