2011-03-19 10 views
7

में वर्ग में ग्रहण करने वाला ग्रहण मेरे पास एक साधारण एंड्रॉइड प्रोजेक्ट है जिसे मैं ग्रहण के अंदर डीबग करने की कोशिश कर रहा हूं। जब मैं इसे डीबग मोड में चलाता हूं और "स्टेप ओवर" बटन का उपयोग करता हूं, तो यह अक्सर एंड्रॉइड कोड में जाना चाहता है (मैं यह नहीं करना चाहता हूं, जैसे सी डीबगर libc में नहीं जाएंगे)। मैं एक स्क्रीन आता है कि के समान दिखता है ऊपर जो मिलती है:एंड्रॉइड

Class File Editor 

Source not found: 

The JAR file blahblah/android.jar has no source attachment. 
You can attach the source by clicking attach source 

मैं यह सब पर Android या Dalvik कोड में जाने के लिए (भले ही मैं स्रोत कोड को स्थापित कर सकते हैं) मैं केवल में दिलचस्पी नहीं करना चाहती मेरी अपना व्यक्तिगत कोड

+1

मैं जवाब का मानना ​​है, लेकिन यह एक तरह से बेकार है:

enter image description here

अंततः आप बंद करने के लिए "ध्यान में न आया अपवाद पर निष्पादन निलंबित" डिबगर एक अपवाद के मामले में रोक से बचने की जरूरत । अन्य विकास प्लेटफॉर्म (यानी .NET) में बाहरी कोड छोड़ना डिफ़ॉल्ट रूप से सेट किया जाता है। मैं केवल अपने व्यक्तिगत कोड से चिंतित हूं। –

+1

मुझे एक ही समस्या है। मैं ज्यादातर काम पर .NET का उपयोग करता हूं, और अब जब मैं विजुअल स्टूडियो में कितना आसान उपयोग करता हूं, तो मुझे यह कहना है कि यह बकवास है। एक अच्छे सवाल के लिए +1। निश्चित नहीं है कि क्यों ग्रहण डीबगिंग आसान नहीं कर सकता है; बहुत कम मामले हैं जहां आप वास्तव में फ्रेमवर्क कोड में कदम उठाना चाहते हैं। – Jim

+0

मैं एंड्रॉइड के कोड में भी कदम नहीं लेना चाहता हूं। किसी को भी बेहतर समाधान मिल जाता है तो एक से अधिक ब्रेकपॉइंट बनाने और फिर से शुरू करने के लिए एपेसा द्वारा प्रस्तावित एक? – Simon

उत्तर

3

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

डीबग में आप हमेशा अपवाद संचालन मंच के माध्यम से चलाया जाएगा ..

1

ग्रहण में:

F5 = में जाने; एफ 6 = कूदो; एफ 7 = ऊपर की ओर जाना: F8 = अगले breackpoint या बाहर निकलने के

के पास जाओ मैं हमेशा इस तरह इसका इस्तेमाल और कभी नहीं एक समस्या थी। :)

7

यकीन नहीं अगर यह Android के लिए काम करता है, लेकिन जावा SE के लिए आप कुछ पैकेज/वर्ग में कदम से बचने के लिए वरीयताओं में कदम छनन सेट कर सकते हैं:

Window -> Preferences -> Java -> Debug -> Step Filtering 

मार्क "चरण का प्रयोग करें फ़िल्टर", जोड़ने अनदेखा करने के लिए पैकेज और कक्षाएं, "फ़िल्टर के माध्यम से चरण" चिह्नित करें।

Window -> Preferences -> Java -> Debug 
+0

यह सही उत्तर है क्योंकि आपको अन्य कक्षाओं को फ़िल्टर करना है ताकि आप डिबगिंग के दौरान केवल अपना कोड देख सकें। –