मेरे आवेदन में एक गतिविधि एक सेवा शुरू करती है जो एक अलग प्रक्रिया के रूप में चलती है, मैं गतिविधि के साथ-साथ सेवा को भी डीबग करना चाहता हूं लेकिन डीबगर सेवा में ब्रेकप्वाइंट पर नहीं रुकता है?
मदद के लिए शुक्रिया।
उत्तर:
उत्तर № 1 के लिए 6यहाँ अन्य उत्तरों के बारे में विस्तार से बताने के लिए, आप अस्थायी रूप से रख सकते हैं android.os.Debug.waitForDebugger();
इसे आसान बनाने के लिए आपकी द्वितीयक प्रक्रिया के कोड में।
फिर, अपने डिबगर को डीडीएमएस या इंटेलीजे (या जो भी आप "उपयोग कर रहे हैं) के माध्यम से प्रक्रिया में संलग्न करें।
जवाब के लिए 5 № 2
अस्थायी रूप से यह एक अलग प्रक्रिया नहीं है।
@CommonsWare
जवाब के लिए 4 № 3
आपको अलग-अलग प्रक्रिया पर डिबगिंग सक्षम करने की आवश्यकता है।
डीडीएमएस परिप्रेक्ष्य खोलें (जैसा कि डिबग या के लिए चुना गया है)जावा)। DDMS-> डिवाइस में, अपनी सेवा की प्रक्रिया का चयन करें और फिर डिबग बटन (थोड़ा-हरा-बग बटन) पर क्लिक करें। आपकी प्रक्रिया के पास एक डीबग आइकन दिखाई देगा, फिर आपको अपनी सेवा में ब्रेकपॉइंट का उपयोग करने में सक्षम होना चाहिए।
ध्यान दें कि आपको रिमोट तक प्रतीक्षा करने की आवश्यकता हैडिबगिंग को सक्षम करने से पहले प्रक्रिया शुरू होती है। तो आप बूट पर शुरू होने वाली प्रक्रिया को सुनिश्चित करना चाहते हैं या रिमोट सेवा शुरू करने के तुरंत बाद अपनी मुख्य प्रक्रिया में एक ब्रेकपॉइंट सेट कर सकते हैं।
डिबगिंग सक्षम करने से पहले:
डिबगिंग सक्षम करने के बाद:
(बेशक अस्थायी रूप से सेवा को गैर-दूरस्थ कार्य भी बना रहा है, लेकिन मेरे पास एक उदाहरण है जहां यह व्यावहारिक नहीं था)