2016-05-24 10 views
19

के साथ क्रैश, आज काम करते समय ऐसा लगता है कि अचानक मैं अब हमारे आवेदन को डीबग नहीं कर सकता था। मजाकिया बात यह है कि, अगर मैं आम तौर पर ऐप चलाता तो यह ठीक काम करेगा। स्पष्टीकरण के लिए, मैं बिना किसी घटना के डीबगर चला रहा था (कभी-कभी गड़बड़ या दुर्घटना के अलावा)। फिर दोपहर के भोजन के बाद यह 100% समय में विफल रहा। बेशक, मैं पूरे दिन बदलाव कर रहा हूं, इसलिए उपरोक्त "ऐसा लगता है"।एंड्रॉइड स्टूडियो डीबगर एप्लिकेशन इंटरप्टेड एक्सेप्शन

  • एंड्रॉयड स्टूडियो 2.1.1 (28 अप्रैल, वर्ष 2016 का निर्माण)

  • यह एप्लिकेशन अप स्क्रीन में एक लॉग के साथ शुरू होता: तो, यहाँ कुछ प्रासंगिक जानकारी है। उपयोगकर्ता को फिर उपयोगकर्ता नाम/पासवर्ड के साथ प्रमाणित करना होगा जो बाहरी सेवा के लिए कॉल करता है।

  • मैं लॉगिन स्क्रीन पर जा सकता हूं, लेकिन ऐप प्रमाणीकरण के बीच में एक ही बिंदु पर हमेशा दुर्घटनाग्रस्त हो जाएगा।

    05-24 14:56:25.764 2399-2745/com.mycomp.myapp.test E/Crashlytics: Failed to execute task. 
            java.lang.InterruptedException 
             at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:375) 
             at java.util.concurrent.FutureTask.get(FutureTask.java:162) 
             at com.crashlytics.android.v.a(SourceFile:1936) 
             at com.crashlytics.android.v.uncaughtException(SourceFile:307) 
             at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693) 
             at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690) 
    05-24 14:56:25.764 2399-2745/com.mycomp.myapp.test E/AndroidRuntime: FATAL EXCEPTION: pool-5-thread-1 
             Process: com.mycomp.myapp.test, PID: 2399 
             java.lang.InterruptedException 
              at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:1991) 
              at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2025) 
              at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410) 
              at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035) 
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097) 
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
              at java.lang.Thread.run(Thread.java:820) 
    

    यहाँ बातें मैं इसे ठीक करने के लिए कोशिश की है इस प्रकार हैं::

    • वापस बाहर मेरे सभी परिवर्तन (git छिपाने की जगह)

    यहाँ स्टैक ट्रेस है फोन से अनइंस्टॉल करें एप्लिकेशन

  • क्लीन बिल्ड
  • एक Gradle परियोजना पुन: सिंक
  • सभी breakpoints निकालें (गंभीरता से?) है
    • ठीक है, मैं कैसे चीजें काम को देखने के लिए सब कुछ खत्म हो breakpoints जोड़ने किया गया है, तो कौन जानता है? वहां कुछ योग्यता है।
  • एंड्रॉइड स्टूडियो को पुनरारंभ करें! (इसे बंद करें और फिर से)

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

इसके अलावा, यदि आप स्टैक ट्रेस को देखते हैं, तो हमारे प्रोजेक्ट को इंगित करने के लिए कुछ भी नहीं है।

कोई विचार?

उत्तर

30

ठीक है, मैंने इसे समझ लिया। यह पता चला है कि मेरे पास "जावा फील्ड वॉचपॉइंट" चुना गया था जिसमें "सस्पेंड थ्रेड" विकल्पों में से एक के रूप में चुना गया था। स्पष्टीकरण के लिए संलग्न स्क्रीनशॉट देखें। Takeaways:

जैसा कि आप देख सकते हैं, मैं ब्रेकपॉइंट्स का एक गुच्छा उपयोग कर रहा था, इसलिए इसे खिड़की में दफनाया गया और मैंने इसे नहीं देखा।

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

प्वाइंट बनी हुई है - यदि आप अजीब स्टैक निशान देख रहे हैं, तो सभी ब्रेकपॉइंट्स और घड़ी बिंदु सेटिंग्स को जांचना अच्छा हो सकता है।

मुझे आशा है कि इससे किसी की मदद मिलेगी।

Screenshot of BreakPoint Window in Android Studio

+5

मुझे बहुत ही समस्या है! सिवाय मैं वॉचपॉइंट्स का उपयोग नहीं करता - बस ब्रेकपॉइंट्स। सबकुछ काम कर रहा था और अचानक मेरे ऐप में स्प्लैश स्क्रीन पर दुर्घटनाग्रस्त हो गया (जहां मेरे पास केवल थ्रेड स्लीप (3000) था)। जब मैंने खंड पर एक ब्रेकपॉइंट जोड़ा है तो यह दुर्घटनाग्रस्त हो गया था, यह क्रैश पर भी नहीं पहुंच पाया था, लेकिन जब मैंने इस ब्रेकपॉइंट को हटा दिया तो उसने फिर से काम करना शुरू कर दिया। – Makalele

+0

wtf! मेरे पास कुछ ब्रेकपॉइंट्स हैं और लॉन्च होने पर ऐप क्रैश हो गया है। उन्हें हटा दिया और सब कुछ ठीक है! इस बकवास पर एक अच्छा 2 घंटे बर्बाद कर दिया। –

+0

@ प्रसादपवार - मैं समझता हूं। वह भी मेरी प्रतिक्रिया थी। मुझे आशा है कि आपको इस पोस्ट को बहुत अधिक समय पहले मिलेगा! –

11

त्वरित रन अपराधी प्रतीत होता है (कम से कम एंड्रॉयड स्टूडियो 2.3.3 के साथ मेरे मामले में)। ब्रेकपॉइंट्स को अक्षम करने के बजाय, त्वरित रन को अक्षम करने का प्रयास करें। एक बार ऐसा करने के बाद, ब्रेकपॉइंट्स दुर्घटनाओं का कारण बन गया।

विवरण के लिए Android app crashes when launched in debug mode देखें। मैक ओएस एक्स के तहत, मैंने एंड्रॉइड स्टूडियो-> प्राथमिकताएं-> बिल्ड, निष्पादन, परिनियोजन-> InstantRun और अनचेकिंग "हॉट स्वैप में त्वरित रन सक्षम करें ..." पर जाकर इंस्टेंट रन अक्षम कर दिया।

"तत्काल रन के साथ परेशानी हो रही है?" सेटिंग पैनल में प्रदर्शित संदेश। मैंने "अतिरिक्त लॉगिंग को पुनः सक्षम और सक्रिय करने" पर क्लिक किया, क्रैश को पुन: उत्पन्न किया, और फिर अनुरोध किया कि "सहायता - रिपोर्ट तत्काल रन जारी करें ..." विकल्प का उपयोग करके तुरंत सूचित किया गया।

+1

यह समस्या अभी भी मैक पर एंड्रॉइड स्टूडियो 3.0 में मौजूद है। – Gavriel

+0

यह मैक पर एंड्रॉइड स्टूडियो 3.0.1 में भी मुझे मारा। अक्षम तत्काल रन और ऐप को क्रैश किए बिना डीबगर संलग्न कर सकता है। – Jed

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