2012-03-22 16 views
5

मुझे अपने ऐप में एक क्रैश है कि मैं अपने जीवन के लिए डीबग नहीं कर सकता। किसी डिवाइस पर Xcode से प्लग इन और डिबगिंग करते समय और NSZombieEnabled पर, मुझे क्रैश नहीं मिलता है। जब मैं ऐप को अनप्लग और चलाता हूं, या NSZombieEnabled की बारी करता हूं, तो यह हर बार दुर्घटनाग्रस्त हो जाता है। EXC_BAD_ACCESSआईओएस वेबट्री थ्रेडलॉक क्रैश

bool _WebTryThreadLock(bool), 0x58a260: Multiple locks on web thread not allowed! Please file a bug. Crashing now... 
1 _ZL17_WebTryThreadLockb 
2 _ZL14WebRunLoopLockP19__CFRunLoopObservermPv 
3 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ 
4 __CFRunLoopDoObservers 
5 __CFRunLoopRun 
6 CFRunLoopRunSpecific 
7 CFRunLoopRunInMode 
8 _ZL12RunWebThreadPv 
9 _pthread_start 
10 thread_start 

यहाँ परीक्षण उड़ान से स्टैक ट्रेस है:

0 App 0x001ff492 testflight_backtrace + 142 
1 App 0x001fffac TFSignalHandler + 212 
2 libsystem_c.dylib 0x349e9538 _sigtramp + 48 
3 JavaScriptCore 0x34b66aee WTFReportBacktrace + 146 
4 WebCore 0x33ed5676 _ZL14WebRunLoopLockP19__CFRunLoopObservermPv + 30 
5 CoreFoundation 0x33b39b4a __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 18 
6 CoreFoundation 0x33b37d86 __CFRunLoopDoObservers + 258 
7 CoreFoundation 0x33b3804e __CFRunLoopRun + 614 
8 CoreFoundation 0x33abb4dc CFRunLoopRunSpecific + 300 
9 CoreFoundation 0x33abb3a4 CFRunLoopRunInMode + 104 
10 WebCore 0x33f7712e _ZL12RunWebThreadPv + 402 
11 libsystem_c.dylib 0x349a0c1c _pthread_start + 320 
12 libsystem_c.dylib 0x349a0ad7 thread_start + 7 

मैंने पहले इस दुर्घटना पड़ा है, और मैं

यहाँ मैं जब मैं NSZombieEnabled बंद कर देते हैं मिलता है मेरे दृश्य में लाइन में फेंककर इसे हल किया गया दृश्य नियंत्रकों में से एक पर डडलोड विधि जहां क्रैशिंग हो रही थी:

[[NSRunLoop currentRunLoop] runUntilDate: [NSDate dateWithTimeIntervalSinceNow:0.01]]; 

यह लाइन अब मदद नहीं कर रही है।

प्रक्रिया है कि दुर्घटना करने के लिए एप्लिकेशन का कारण बनता है: वर्तमान शेयर दृश्य नियंत्रक, को खारिज करें शेयर दृश्य नियंत्रक tabViewController पर, स्विच टैब देखने के लिए, बटन दबाएं जो share2 दृश्य नियंत्रक

मैं किसी भी नहीं कर रहा हूँ प्रस्तुत करता है पृष्ठभूमि प्रोसेसिंग या किसी यूआई को बदलना, क्रैश तब होता है जब आप बटन 2 हिट करते हैं जो शेयर 2 व्यू कंट्रोलर प्रस्तुत करता है। यह दुर्घटना कुछ दिन पहले नहीं हो रही थी और मैंने इस मुद्दे के कारण को खोजने के लिए अपने सभी परिवर्तनों को वापस करने की कोशिश की है, लेकिन मुझे कोई भाग्य नहीं था।

मैंने इस त्रुटि के लिए इंटरनेट भी खराब कर दिया है, और मुझे मिली किसी भी जानकारी ने मेरी मदद नहीं की है।

सही दिशा में मुझे इंगित करने के लिए कोई सलाह बहुत सराहना की जाएगी, धन्यवाद!

उत्तर

0

मैं 2 समस्या स्क्रीन के बीच नेविगेशन फिर से कर रहा हूं और मुझे तब से समस्या नहीं है।

मेरा उत्तर: हमेशा सेब नेविगेशन का उपयोग करें और अपना खुद का निर्माण करने की कोशिश न करें: पी

1

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

उस ज्ञान के बिना यह जंगली अनुमान है: मुझे लगता है कि वेबव्यू पृष्ठभूमि में अभी भी चल रहा है और फिर अपने प्रतिनिधि को कुछ डेटा भेजने की कोशिश कर रहा है। क्या आपने शेयर व्यू कंट्रोलर में एक प्रतिनिधि सेट किया था? क्या आपने इसे viewWillDisappear या viewDidDisappear पर शून्य पर सेट किया था?

पीएस .: आपके द्वारा जो एनएसआरन लूप लाइन जोड़ी गई है वह एक बदसूरत हैक है, आपको यह नहीं करना चाहिए, क्योंकि यह वास्तविक के लिए कुछ भी ठीक नहीं कर रहा है।

पीपीएस .: पीएलक्रैश रिपोर्टर पर आधारित अन्य क्रैश रिपोर्टिंग फ्रेमवर्क और सेवाएं हैं जो अंतिम अपवाद बैकट्रैक प्रदान करती हैं और केवल सभी धागे की स्थिति को केवल मुख्य धागे दिखाती हैं।

0

मेरा टेस्टफ्लाइट एसडीके स्वयं ही होता था। टेस्टफलाइट "टेकऑफ" को हटा दिया गया और अब उस क्रैश को नहीं मिला।

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