2012-09-19 12 views
12

डीबग (ग्रहण) में डिबगिंग करते समय अज्ञात वर्ग के अंदर अंतिम चर सामग्री को नहीं देख सकता है, जब मैं चर दृश्य में चर सामग्री को नहीं देख सकता, न ही अभिव्यक्ति दृश्य में, और न ही प्रदर्शन दृश्य में - यदि चर परिभाषित किया गया है अज्ञात वर्ग के बाहर लेकिन डीबग अज्ञात वर्ग के अंदर है।एलेप्से में एक एंड्रॉइड ऐप

जब मैं डीबग में सामग्री को देखने का प्रयास करता हूं, तो मुझे त्रुटि मिलती है: x को एक चर पर हल नहीं किया जा सकता है।

निम्न उदाहरण में, एक्स हल नहीं किया जा सकता है:

private void someMethod(final Object x) { 
    new Runnable() { 
    public void run() { 
     Log.i(x); // x is printed correctly but cannot be resolved when in Debug 
    } 
    }.run(); 
} 

यह सवाल ग्रहण विकास के वातावरण का संबंध - एंड्रॉयड डिबगिंग के बारे में। यह अंतिम, न ही संकलन के बारे में कोई चर्चा नहीं है - बस डिबगिंग।

+0

यह ग्रहण 4.2.0 और 3.7.1 पर होता है उबंटू 11.10 और 12.04 –

+0

दोनों पर एक बग खुलता है: http://code.google.com/p/android/issues/detail?id=37662 –

+0

कोई कामकाज है - देखना संलग्न उदाहरण के सदस्य के रूप में चर। उदाहरण: 'यह $ 0' -> 'वैल $ x'। –

उत्तर

0

मुझे हाल ही में एक ही समस्या थी, लेकिन एंड्रॉइड एसडीके को अपडेट करना और फिर ग्रहण को फिर से शुरू करना। नवीनतम संस्करण में एसडीके अपडेट करने का प्रयास करें।

+0

ऐसा किया गया था कि –

+0

काम नहीं करता है, यह बग ग्रहण 4.3 में वहां क्रिप्ट है ... और ऐसा लगता है कि यूआई थ्रेड से जुड़ी किसी भी आंतरिक कक्षा में है। कुछ तोड़ दिया और कोई भी वास्तव में यह सुनिश्चित करने के लिए सुनिश्चित नहीं है कि इसे कैसे ठीक किया जाए। – JPM

1

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

आशा है कि यह जानकारी मदद करेगी। तो ब्रेक पॉइंट के साथ प्रवाह को रोकने के बजाय, उस मूल्य को मुद्रित करने का प्रयास करें जहां आपको सिसआउट या उस तरह की चीजों का उपयोग करके मूल्य जानने की आवश्यकता है, जो कि प्रोग्राम चलाने की तरह है लेकिन अभी भी डिबगिंग है, अपना रास्ता :)

+2

आह कोडिंग के पुराने दिन ... ग्रहण क्यों नहीं कर सकता बस इसे ठीक करें ... यह पिछले संस्करण के बाद से रहा है। – JPM

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