2011-04-21 7 views
7

कृपया यहां कुल नौसिखिया को क्षमा करें - मैं सिम्युलेटर में एक ऐप चला रहा हूं, और कभी-कभी जब यह दुर्घटनाग्रस्त हो जाता है तो यह कंसोल में उपयोगी जानकारी पोस्ट करता है, दूसरी बार बिल्कुल कुछ भी नहीं। जब यह कुछ भी पोस्ट नहीं करता है, तो दुर्घटना के कारण को ट्रैक करना शुरू करने के लिए क्या कदम उठाए जाएंगे?कोई उपयोगी कंसोल जानकारी के साथ आईपैड सिम्युलेटर में ऐप क्रैशिंग

उत्तर

10

सबसे पहले दुर्घटना के बाद डीबगर खोलें और स्टैकट्रैक देखें।

इसके अलावा आप निष्पादन योग्य के लिए NSZombieEnabled सक्षम कर सकते हैं जब उन अस्पष्ट खराब पहुंच त्रुटियां दिखाई देती हैं। स्टैकट्रेस (ऊपर छोड़ दिया खिड़की) के साथ

डीबगर, XCode3

enter image description here

स्टैकट्रेस Xcode4

enter image description here

+0

दोनों एक्सकोड 3 और 4 के स्क्रीनशॉट के लिए +1। – Jasarien

+0

NSZombieEnabled शानदार है। यह वास्तव में आपको इनमें से कुछ यादृच्छिक अतुलनीय दुर्घटनाओं पर बचा सकता है। – Dancreek

0

क्या घटना ऐप्स क्रैश हो पर निर्धारित करें। यदि यूआईबटन के क्लिक पर ऐप क्रैश हो रहा है, तो अपवाद के लिए, आप कार्रवाई पर ब्रेकपॉइंट डाल सकते हैं और क्रैश होने वाली रेखा पर यह देखने के लिए कोड लाइनों के माध्यम से कदम उठा सकते हैं। कभी-कभी जब ऐप के क्रैश पर कोई क्रैश लॉग नहीं होता है, तो इस विधि के माध्यम से डीबगिंग, सहायक साबित होता है।

मुझे लगता है कि यह एक स्मृति समस्या है।

+1

मुझे यकीन है कि यह एक मेमोरी/थ्रेडिंग समस्या है, लेकिन हमारे पास ब्रेक पॉइंट्स में डालने के लिए बहुत अधिक कोड है। क्या ** कोई ** अन्य तरीका है? –

+0

@ मासीज स्विक: मेरे साथ समान समस्या दोस्त। स्तर 1 और 2 के साथ मेमोरी चेतावनी लॉग की कुछ 5 पंक्तियों के बाद मेरा ऐप क्रैश हो जाता है :(कोई अन्य तरीका कृपया? – mysticboy59

0

कभी-कभी यह मेरे साथ भी होता है .. ऐप लॉग में पोस्ट होने वाले किसी भी त्रुटि संदेश के बिना दुर्घटनाग्रस्त हो जाता है .. 9 5% समय यह है क्योंकि मैं कुछ जारी नहीं कर रहा हूं या कुछ जारी कर रहा हूं और इसे एक्सेस कर रहा हूं (जो आम तौर पर एक लॉग बनाते हैं) ... अपने कोड से गुज़रें और देखें कि क्या आप ठीक से रिलीज कर रहे हैं और ऑटोोरिज़ विकल्प का उपयोग कर रहे हैं ...

5

मैं लगातार अपने ऐप के साथ इस तरह के व्यवहार को पुन: पेश कर सकता हूं। यह एआरसी का उपयोग करता है, इसलिए मुझे यकीन है कि कुछ भी जारी नहीं हुआ है, और हमारे पास ज़ोंबी सक्षम हैं। एक्सकोड थ्रेड की सूची प्रदर्शित करने के बजाए "रोका गया" कहेंगे, "जारी रखें" बटन सक्रिय है, लेकिन कुछ भी नहीं करता है, और बीटी (gdb) प्रॉम्प्ट पर कोई स्टैक नहीं कहता है।

यह मुझे पागल कर रहा है!

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