2013-03-04 5 views
5

में क्रैश के लिए सही समस्या को ट्रैक करने के लिए कैसे करें जब मैं अपना आईफोन ऐप डिबग कर रहा था, मुझे एक त्रुटि मिली और ऐप क्रैश हो गया। मैंने एक अपवाद ब्रेक पॉइंट जोड़ा है लेकिन यह कोड में कहीं भी इंगित नहीं करता है और main.m में दुर्घटनाग्रस्त हो गया है।आईओएस

यहां ऐप क्रैश होने पर मैं एक्सकोड विंडो का स्क्रीन शॉट जोड़ रहा हूं।

enter image description here मुझे इस से दुर्घटना के लिए सही समस्या कैसे मिल सकती है?

क्या यह संभव है? कृपया मदद करे।

+0

मुझे भी इस तरह के मुद्दे थे, लेकिन मुझे सही समस्या खोजने के लिए वैसे भी नहीं मिला। अगर कोई यहां किसी भी संभावित तरीके से इंगित कर सकता है तो मैं सराहना करता हूं। :) – Mithun

+0

यदि आपके प्रोग्राम में कुछ कोड हैं तो कृपया उन्हें दिखाएं। तो कि कोई भी त्रुटि बिंदु तक पहुंच सकता है। –

+0

मुझे डर है कि मेरे कोड के किस हिस्से ने इस मुद्दे को जन्म दिया था, मैं अलग-अलग वीसी के माध्यम से यादृच्छिक रूप से नेविगेट कर रहा था, अचानक मुझे यह समस्या मिली। और, डीबग विंडो में भी किसी भी कोड या फ़ंक्शन का उल्लेख नहीं किया गया था। इस मामले में मुझे क्या करना चाहिए? – Mithuzz

उत्तर

6

ज़ूमबी सक्षम करें ताकि आपको लॉग में त्रुटि का विवरण मिले।

यदि आप इस योजना को संपादित करते हैं, तो आप "उत्पाद" मेनू में "योजना संपादित करें" का चयन करें), बाएं पैनल में "रन Foo.app" चरण पर जाएं, और "तर्क "दाईं ओर टैब। इसके बाद आप "पर्यावरण चर" अनुभाग में NSZombieEnabled जोड़ सकते हैं और मान को YCS में सेट कर सकते हैं, जैसा कि आप एक्सकोड 3 में कर सकते हैं।

एक्सकोड 4.1 और उसके बाद में, "रन" के "डायग्नोस्टिक्स" टैब पर भी चेकबॉक्स है "ज़ोंबी ऑब्जेक्ट्स सक्षम करें" के लिए चरण।

+0

धन्यवाद, लेकिन मैंने इसे पहले से ही सक्षम कर दिया है। – Mithuzz

+0

क्षमा करें, असल में मैं दूसरा विकल्प जोड़ना भूल गया, अब भी इसे सक्षम कर दिया। धन्यवाद :) – Mithuzz

+0

मैंने आपके द्वारा उल्लेखित और परीक्षण किए गए सेटिंग्स को बदल दिया है। मुझे फिर से दुर्घटना की समस्या मिली लेकिन उसने मुझे कोई विवरण नहीं दिखाया। – Mithuzz

3

Exception breakpoint जोड़ें और डीबगर क्रैश होने वाली रेखा पर रुक जाएगा।

+0

मैंने पहले से ही ऐसा किया है, यह कुछ अन्य मुद्दों के लिए इशारा कर रहा था, लेकिन जब यह त्रुटि होती है, तो कुछ भी नहीं हुआ। क्या डीबग नेविगेटर विंडो से समस्या को ढूंढना संभव है? – Mithuzz

6

एक्सकोड में एडिटशेम पर क्लिक करें। तो स्क्रीन नीचे की तरह दिखाया जाएगा। ज़ोंबी ऑब्जेक्ट सक्षम करें पर क्लिक करें। यह आपके लॉग पर त्रुटि दिखाएगा।

enter image description here

+0

धन्यवाद, असल में मैं उस विकल्प को भूल गया, इसे सक्षम कर दूंगा और पुनः प्रयास करूँगा। – Mithuzz

+0

क्षमा करें, मुझे लगता है कि मेलबर्न ने आपके सामने एक ही जवाब दिया था, इसलिए मुझे उसका जवाब सही स्वीकार करना चाहिए? चिंता न करें मैंने आपको एक उपरोक्त दिया और मैं वास्तव में सटीक स्क्रीन शॉट के साथ आपकी मदद के लिए सराहना करता हूं, यह समझना बहुत आसान था। धन्यवाद :) – Mithuzz

+0

@ मिथज़। यह केवल आपके लिए नहीं है। इसलिए कई प्रोग्रामर सही उत्तर देने का प्रयास करेंगे। उत्तर शॉटिंग स्क्रीन शॉट इस प्रकार के प्रश्न के लिए अधिक स्वीकार्य उत्तर है। हमें नए प्रोग्रामर को बेहतर मार्ग देना है। – Suresh

1

सुनिश्चित नहीं हैं लेकिन रजिस्टरों पढ़ने मदद कर सकता है।

पहले अपवाद टैब पर जाएं और नीचे बाएं कोने में + का उपयोग करके 'अपवाद ब्रेकपॉइंट जोड़ें' पर जाएं। enter image description here

फिर जब ऐप्लिकेशन क्रैश थ्रेड के तहत '0 objc_exception_throw "पर क्लिक करें 1 enter image description here

कंसोल में

अंत में दर्ज करें:

  • रजिस्टर पढ़ (आप रजिस्टरों की एक सूची प्राप्त करना चाहिए)
  • पीओ $ रैक्स (आमतौर पर अपवाद 'रैक्स' में होता है)

    (आप कंसोल पर अपवाद उत्पादन देखना चाहिए)

आशा इस मदद करता है।