2011-03-13 8 views
5

मैं ग्रहण 3.5 का उपयोग कर रहा हूं और मैंने ग्रहण में मेरी वैश्विक सेटिंग्स में src.zip संलग्न किया है। विंडोज़ -> प्राथमिकताएं -> जावा -> स्थापित जेआरई -> आरटी.जर - स्रोत अनुलग्नक - ...../jdk/src.zipECLIPSE में .class फ़ाइलों को डीबग कैसे करें?

मैं जावा कोर में सफलतापूर्वक कदम उठाने में सक्षम हूं लाइब्रेरी। क्लास फाइलें और स्रोत कोड देखें। मैं एक क्लास का निर्माण करता हूं जो लिंक्डलिस्ट का उपयोग करता है और मैंने लिंक्डलिस्ट क्लास के अंदर ब्रेकपॉइंट सेट किया है।

जब मैं अपने स्रोत कोड में breakpoints (अपनी परियोजनाओं) डिबग अच्छा काम कर रहे हैं लेकिन जब मैं जावा कोर lib .classes मैं अपने ग्रहण eclipse error

असमर्थ में निम्न त्रुटि प्राप्त में कदम की जरूरत है java.util.LinkedList में ब्रेकपॉइंट इंस्टॉल करें लापता लाइन संख्या गुणों के कारण। लाइन नंबर विशेषताओं को उत्पन्न करने के लिए अनुपालन विकल्पों को संशोधित करें।

मैंने प्राथमिकताओं में मेरी शिकायत सेटिंग्स की जांच की और सभी विकल्पों को सही चेक किया। enter image description here अगर कोई इस मुद्दे को हल करने में मेरी सहायता कर सकता है तो यह बहुत अच्छा होगा।

अग्रिम धन्यवाद।

उत्तर

6

आपके पास अपनी कक्षा फ़ाइलों में डिबगिंग जानकारी शामिल करने के लिए कंपाइलर सेट हो सकता है, लेकिन rt.jar में क्लास फ़ाइलों को इस तरह संकलित नहीं किया गया था। आपको rt.jar (दिल की बेहोशी के लिए नहीं), या download a debug build of the jdk में कक्षाओं के लिए सभी स्रोतों को फिर से सम्मिलित करने की आवश्यकता है।

+0

एक आकर्षण की तरह काम किया। आपका बहुत बहुत धन्यवाद। इसके लिए खोज रहा है। – AKh

+0

हाय डेविड ... क्या आप बता सकते हैं कि जावा कोर में परिवर्तन कैसे करें। क्लास और उन्हें संकलित करें और मेरे प्रोजेक्ट द्वारा उपयोग किया जाए? उदाहरण के लिए: मैं अपने शोध उद्देश्य के लिए लिंक्डलिस्ट क्लास में मूल्यों को असाइन करने के लिए सार्वजनिक चर - हेडर - एक सार्वजनिक में संशोधित करना चाहता हूं? मैं लिंक्डलिस्ट के व्यवहार का अध्ययन कर रहा हूं ... अगर आप मुझे कुछ संसाधनों के बारे में बताते हैं तो भी सराहना करेंगे। – AKh

+0

मुझे नहीं लगता कि यह एक अच्छा विचार है, और यदि आप अनुसंधान के लिए निजी चर का उपयोग करना चाहते हैं तो आप इसे प्रतिबिंब के माध्यम से कर सकते हैं। उदाहरण के लिए, अपवाद हैंडलिंग से कम: सूची सूची = नई लिंक्डलिस्ट (); list.add ("foo"); फील्ड हेडर = list.getClass()। GetDeclaredField ("हेडर"); header.setAccessible (सही); Println (header.get (सूची)); –

2

यह blog posts अंक की एक व्यापक सूची की जांच करने के

चरणों का पालन करें यदि आप ग्रहण आईडीई

enter image description here

  1. जाओ windows > preferences > Java > compiler करने के लिए स्क्रीन का उपयोग कर संकलन कर रहे हैं दे।
  2. सुनिश्चित करें कि जेनरेट की गई फ़ाइलों (डीबगर द्वारा उपयोग किया गया) में लाइन नंबर विशेषताएँ चेक बॉक्स चेक किया गया है।
  3. फिर से बनाएं और ब्रेकपॉइंट एडीएच जोड़ने का प्रयास करें उम्मीद है कि यह आपके लिए काम करना चाहिए। चींटी के लिए

नोट बनाता

यदि आप चींटी सुविधा का उपयोग कर रहे हैं संकलन चरणों का पालन करें:

  1. build.xml फ़ाइल की जाँच करें और सुनिश्चित करें कि डिबग विशेषता javac कार्य में सत्य पर सेट किया गया है
  2. इसके अलावा, यदि आप एक ऐप सर्वर के रूप में जेबॉस का उपयोग कर रहे हैं, तो su फिर से आप रिमोट मशीन कनेक्शन के सॉकेट बाध्यकारी के लिए पहले ही बंदरगाह खोला है। यदि नहीं, तो बस सुनिश्चित करें कि C:/jboss/bin/run.bat में प्रविष्टि है:
    "set JAVA_OPTS=%JAVA_OPTS% -Xdebug –Xrunjdwp:transport=dt_socket,address=5000,server=y,suspend=n" पोर्ट 5000 खोलने के लिए डीबग/रिमोट जावा एप्लिकेशन के लिए सभी सॉकेट कनेक्शन सुनने के लिए।
  3. फिर से बनाएं और ब्रेकपॉइंट एडीएच जोड़ने का प्रयास करें उम्मीद है कि यह आपके लिए काम करना चाहिए।
2

आप एक JDR src JRE वर्गों के रूप में संलग्न के साथ एक JRE उपयोग नहीं करना चाहिए अच्छी तरह से डीबगिंग के लिए अनुकूल नहीं हैं।

ग्रहण पर्यावरण के लिए ग्रहण की खोज करें और फिर परिणामी सूची से जेडीके का चयन करें। इस जावा पर्यावरण में src.zip सही ढंग से संलग्न होगा और आपको जांच करने में सक्षम होना चाहिए।

ध्यान दें कि यहां तक ​​कि JDK कक्षाएं पूर्ण डिबगिंग जानकारी उपलब्ध नहीं है, तो आप स्थानीय चर को नहीं देख पा आदि कर सकते हैं

(इसके अलावा, संकलक सेटिंग्स पैनल केवल अपने कोड लागू होता है। JRE कक्षाएं pregenerated कर रहे हैं और पैनल उन्हें प्रभावित नहीं करता है)।

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