2012-06-01 12 views
9

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

मैंने कोड को निष्पादित करने के सत्यापन के सत्यापन के ठीक पहले अलर्ट लगाए हैं।

यहां पागल होने लगते हैं। कोई अन्य सुझाव? मुझे कुछ सरल लेकिन गैर-स्पष्ट याद आना चाहिए।

अद्यतन: मैं अब तक प्रतिक्रियाओं की सराहना करता हूं। दुर्भाग्य से उन्होंने मेरी समस्या का हल नहीं किया है। मैंने डिबगिंग पर निर्देश का पालन किया है और फोन में डीबगिंग चालू है। साथ ही, मुझे शुरू होने पर फोन पर "डीबगर की प्रतीक्षा" अलर्ट दिखाई देता है। आम तौर पर सबकुछ कहता है कि मैं डिबगिंग कर रहा हूं (जिसमें मैंने जो लॉगकैट आउटपुट जोड़ा है)। यह सिर्फ ब्रेकपॉइंट्स पर नहीं रुक जाएगा जो मैंने जोड़ा है और डीबग परिप्रेक्ष्य में ब्रेकपॉइंट्स टैब में सूचीबद्ध हैं। इसके अलावा बस दोहराने के लिए - यह तब होता है जब डिवाइस पर और साथ ही एमुलेटर पर डिबगिंग होती है। एक बात मुझे नोटिस है कि जब मैं डीबगर लॉन्च करता हूं तो मैंने एंड्रॉइड डिवाइस चयनकर्ता को लाने के लिए सेट किया है। वहां "डिबग" कॉलम मेरे डिवाइस के लिए खाली है - लेकिन अगर एमुलेटर डीबग कॉलम चला रहा है तो 'हां' कहता है। कंसोल का कहना है कि डीबगर से कनेक्ट करने का प्रयास कर रहा है। क्या एक कंसोल लॉग होना चाहिए जो बताता है कि डीबगर सफलतापूर्वक कनेक्ट हो गया है? मुझे यह नहीं दिख रहा है।

अद्यतन 20120 9 14: मैं कुछ समय से इस से दूर रहा हूं और पहले छोड़ दिया था। कोशिश करने और इससे निपटने के लिए वापस। यह अभी भी हल नहीं है। उपर्युक्त सब कुछ अभी भी चालू है - लेकिन एक और चीज मैंने देखी है। मैंने मुख्य गतिविधि पर क्लास लोड ब्रेकपॉइंट सेट किया है और यह वहां रुकता है। यह किसी भी लाइन ब्रेकपॉइंट्स पर नहीं रुकता है। मैंने हाल ही में नवीनतम जेडीके 1.7.0_07, एंड्रॉइड एसडीके 20, एडीटी प्लगइन 20.0.3 में अपडेट किया है। मैंने एक संदेश आउटपुट करने के लिए लॉगकैट का उपयोग किया है और इस लाइन पर ब्रेकपॉइंट सेट किया है। मुझे लॉगकैट में संदेश दिखाई देता है, इसलिए मुझे पता है कि कोड निष्पादित किया जा रहा है। डीबग परिप्रेक्ष्य में डीबग विंडो भी एंड्रॉइड एप्लिकेशन को इसके नीचे कई धागे के साथ दिखाती है और डीडीएमएस परिप्रेक्ष्य में डिवाइस विंडो इसके आगे के हरे बग आइकन के साथ एप्लिकेशन को दिखाती है।

एक और बात - जब डीबगर लाइन ब्रेकपॉइंट्स चला रहा है तो गोलियों को उनके ऊपर एक चेकमार्क ओवरलैड नहीं मिलता है (क्लास लोड ब्रेकपॉइंट करता है!)। मुझे लगता है कि यह मूल कारण है - लेकिन मुझे नहीं पता कि उन्हें यह क्यों नहीं मिल रहा है। (जिस तरह से छोड़ें ब्रेकबॉइंट भी सेट नहीं होते हैं - ब्रेकपॉइंट्स के माध्यम से लाइन नहीं होती है)।

किसी भी नए सुझाव की सराहना की जाएगी। मैंने इस पर बहुत समय जला दिया है। यह कुछ स्पष्ट होना चाहिए कि मैं नहीं देख रहा हूं।

उत्तर

3

एंड्रॉइड एसडीके आपके अनुप्रयोगों को डीबग करने के लिए आवश्यक अधिकांश टूल प्रदान करता है। यह लिंक आपको Android debugging environment and the debugging tools पर पेश करेगा।

यहाँ debugging an android application.

पर भी ट्यूटोरियल पर एक हाथ है आप वास्तविक एंड्रॉयड फोन का उपयोग करने के डिबग चाहते हैं, अपने डिवाइस में "USB डीबगिंग" चालू करते हैं:

सेटिंग्स> अनुप्रयोग> विकास और सक्षम USB डीबगिंग

और एंड्रॉयड 4.0:

सेटिंग> डेवलपर विकल्प

और Log.d और अपने Logcat का इस्तेमाल करते हैं।

1

ग्रहण में डीबग रन कॉन्फ़िगरेशन है। केवल अगर आप डीबग रन कॉन्फ़िगरेशन का उपयोग करते हैं तो लॉन्च के दौरान एप्लिकेशन के साथ एक डीबगर संलग्न किया जाएगा।

क्या एप्लिकेशन लॉन्च (डिवाइस/एमुलेटर पर) कुछ समय "डीबगर की प्रतीक्षा" रोकता है? यदि नहीं, तो आप "डीबग कॉन्फ़िगरेशन" का उपयोग कर एप्लिकेशन लॉन्च नहीं कर रहे हैं। इसके तुरंत बाएं चलाने के लिए बटन (ड्रॉप डाउन) कॉन्फ़िगरेशन।

5

अब मुझे इस पोस्ट को थोड़ा बेवकूफ लगता है। लेकिन मैंने अंत में अपनी समस्या का समाधान किया। समस्या यह है कि आप जावास्क्रिप्ट कोड में ब्रेकपॉइंट्स सेट नहीं कर सकते हैं। जिस हिस्से में मैंने अनजाने में छोड़ा था, क्या मैं फोनगैप का उपयोग करके एंड्रॉइड के लिए एक ऐप लिख रहा हूं। लगभग सभी कोड जावास्क्रिप्ट है। मुझे विजुअल स्टूडियो में .NET वेब ऐप्स विकसित करने के लिए इतना उपयोग किया जाता है, मैंने अभी माना है कि आप जावास्क्रिप्ट कोड में ब्रेकपॉइंट्स सेट कर सकते हैं। जावा कोड में ब्रेकपॉइंट ठीक काम करने के लिए होता है। वैसे भी, किसी भी सुझाव के लिए धन्यवाद। नहीं जानते कि क्या अन्य .NET डेवलपर्स फोनगैप विकास की कोशिश कर रहे हैं - लेकिन हो सकता है कि यह पोस्ट उनकी मदद करेगी।

1

रिमोट (मोबाइल) उपकरणों के लिए एक्लिप्स में जावास्क्रिप्ट ब्रेकपॉइंट्स सेट करने के लिए जेएसएचबगर: http://www.jshybugger.org/ आज़माएं।

यह आपको ब्रेकपॉइंट्स, सिंगलस्टेप, कैप्चर अपवाद सेट करने और जेएस/डीओएम पर्यावरण के साथ बातचीत करने देता है। आप इसे ग्रहण से या दूरस्थ डेस्कटॉप पर क्रोम या क्रोम-संगत डीबगर से उपयोग कर सकते हैं। इसका उपयोग उन ऐप्स के साथ किया जा सकता है जो अपना स्वयं का वेब व्यू बनाते हैं।

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

+0

यह प्रश्न का एक प्रासंगिक उत्तर नहीं है। कम से कम मैं किसी अन्य उत्तर की तुलना में कहीं भी वेबव्यू/फोनगैप/जावास्क्रिप्ट का उल्लेख कर सकता हूं। – laalto

+2

मुझे लगता है कि यह प्रासंगिक है कि वह आखिरकार एक ऐप में जावास्क्रिप्ट को डिबग करने के तरीके के बारे में पूछ रहा था (प्रारंभिक प्रश्न के रूप में एक ऐप में जावा नहीं था। यह एकमात्र तरीका है जिसे मैंने डीबग करने में सक्षम पाया है (ब्रेकपॉइंट/singlestep) जावास्क्रिप्ट (ग्रहण में)। – Ribo

0

सुनिश्चित करें कि आपने सभी ब्रेकपॉइंट्स को छोड़ने की जांच नहीं की है (रन -> सभी ब्रेकपॉइंट्स छोड़ें)।

0

रिबो पहले से ही अपने उत्तर में इसका उल्लेख करता है, लेकिन चूंकि यह प्रश्न और उत्तर फोनगैप अनुप्रयोगों को डीबग करने के बारे में हैं। आपको निश्चित रूप से Weinre (वेब ​​इंस्पेक्टर रिमोट) देखना है। http://people.apache.org/~pmuellr/weinre/docs/latest/

आजकल भी PhoneGap यह खुद weinre phonegap निर्माण में गले लगा लिया है है ... http://debug.phonegap.com/

मैं इस का एक बड़ा प्रशंसक हूँ ... (ध्यान दें कि यदि आप अपने स्थानीय मशीन पर weinre का उपयोग करने और की कोशिश कर रहे wifi के माध्यम से एक फोनगैप ऐप डीबग करें ... सुनिश्चित करें कि आपका स्थानीय डिवाइस एक ही वाईफाई नेटवर्क पर है!)

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