2013-10-15 13 views
8

मेरे पास आईओएस 7 के लिए एक प्रोजेक्ट बनाया गया है और यह अभी तक ठीक काम करता है, लेकिन गिट मर्ज के बाद, कुछ सेटिंग्स या कुछ दूषित हो गया और अपवादों को अब को कंसोल करने के लिए आउटपुट नहीं किया गया है। तो "बिना अपवाद के कारण टर्मिनिंग ऐप" त्रुटि संदेश कंसोल में कभी प्रदर्शित नहीं होता है। मैंने डिवाइस और सिम्युलेटर दोनों पर एक ही चीज़ की परियोजना की कोशिश की है। मुझे यह कारण नहीं मिल रहा है कि यह क्यों है और इसे कैसे ठीक किया जाए और मैं नम्रता से आपकी मदद मांग रहा हूं।एक्सकोड 5 अपवाद विवरण प्रिंट नहीं कर रहा

तथ्य:

  • डिबगर काम करने और चल रहा है,
  • डिबगर बंद हो जाता है और प्रकाश डाला सही लाइन,
  • सभी अपवादों ब्रेकपाइंट सक्रिय है,
  • NSLog आदेशों काम कर रहे हैं,
  • एलएलडीबी में पीओ कमांड काम कर रहा है।

मैंने मदद मांगने से पहले क्या प्रयास किया है?

  • सफाई (फ़ोल्डर का निर्माण भी शामिल है) और इस परियोजना के पुनर्निर्माण,
  • पुन: आरंभ करना Xcode,
  • पुन: आरंभ करना ओएस एक्स,
  • पुन: कनेक्ट डिवाइस,
  • रीबूट हो रहा है डिवाइस।

मैं और क्या कर सकता हूं? आपके सहयोग के लिए धन्यवाद!

+0

क्या आपने गिट को बदलने की कोशिश की है कि क्या बदला गया था? – neilco

+1

क्या आप डीबगर बंद होने के बाद जारी रखें बटन दबाते हैं?मेरे अनुभव में विवरण तब तक मुद्रित नहीं होते हैं जब तक आप अपवाद ब्रेकपॉइंट पर डीबगर बंद होने के बाद दो बार जारी रखें बटन दबाते हैं। – borrrden

+0

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

उत्तर

5

ऑटोटायआउट क्रैश डीबग करने का प्रयास करते समय मैं इस समस्या में भाग गया।

मैं कुछ शिकार किया था, और इस लिंक में आए: सुनिश्चित नहीं हैं कि अगर यह सभी मामलों पर लागू होता है, लेकिन यहाँ मेरे समाधान है

Investigating NSExceptions with LLDB

कि अपवाद breakpoints करने की कोशिश करने के साथ चारों ओर गंदगी के लिए मुझे का नेतृत्व किया पता लगाएं कि समस्या क्या थी। मेरे मामले में, मैं हमेशा $eax पर विवरण ढूंढ सकता था, इसलिए मैंने ब्रेकपॉइंट पर एक क्रिया जोड़ने का फैसला किया, इसलिए मुझे इसे हर बार डीबग करने की आवश्यकता नहीं है। इसने ब्रेकपॉइंट के बिना हमेशा $eax प्रिंट करने का कारण बना दिया, इसलिए यह बहुत अधिक कार्य करता है जैसे मैं इसे चाहता हूं (अपवाद विवरण मुद्रित करें, क्रैश करना जारी रखें)।

कदम:

Add an Exception Breakpoint

Edit the breakpoint you just added

Add an action to <code>po $eax</code>, and check "automatically continue after evaluating"

मुद्दा मैं वर्तमान में चल रहा था हल, और मैं इस समाधान (po $ebx, po [NSThread callStackSymbols], आदि) पर यकीन है कि विविधताओं हूँ चाहिए अनुपलब्ध अपवाद विवरण के साथ सबसे अधिक मुद्दों को प्राप्त करें।

+0

मैं यहां एक मुश्किल बिंदु जोड़ूंगा जो इससे भी मदद करेगा। ctrl क्लिक करें और फिर "ब्रेकपॉइंट को ले जाएं" और फिर "उपयोगकर्ता" पर जाएं। यह उपयोगकर्ता विशिष्ट बना देगा। –

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