2012-09-24 14 views
7

मुझे क्रिटरसिज्म से आने वाले कुछ सिगसेग क्रैश मिल गए हैं, लेकिन मुझे पूरा यकीन नहीं है कि डिबगिंग के बारे में कैसे जाना शुरू करें। मेरे पास कोड की एकमात्र पंक्ति दुर्घटनाग्रस्त धागे की शुरुआत से मुख्य कॉल है।क्रिटरसिज्म से आईफोन पर sigsegv क्रैश

crittercism से दुर्घटनाग्रस्त हो गया थ्रेड स्टैक ट्रेस को कॉपी करना:

कारण:

24-सितम्बर 12 14:38:14 SIGSEGV मुख्य (main.m: 11)

ढेर :

 
0 
0 libobjc.A.dylib 0x356265b0 objc_msgSend + 15 
1 
1 UIKit 0x3861c313 + 1310 
2 
2 UIKit 0x386337cf + 206 
3 
3 UIKit 0x385ef80b + 258 
4 
4 QuartzCore 0x34f56d63 + 214 
5 
5 QuartzCore 0x34f56901 + 460 
6 
6 QuartzCore 0x34f57835 + 16 
7 
7 QuartzCore 0x34f5721b + 238 
8 
8 QuartzCore 0x34f57029 + 316 
9 
9 UIKit 0x386786e5 + 572 
10 
10 UIKit 0x386784a3 + 66 
11 
11 UIKit 0x38677391 + 1464 
12 
12 UIKit 0x385ed1ef + 2458 
13 
13 UIKit 0x385ec6d5 + 72 
14 
14 UIKit 0x385ec123 + 6154 
15 
15 GraphicsServices 0x3779f5a3 + 590 
16 
16 CoreFoundation 0x372f0683 + 14 
17 
17 CoreFoundation 0x372efee9 + 212 
18 
18 CoreFoundation 0x372eecb7 + 646 
19 
19 CoreFoundation 0x37261ebd CFRunLoopRunSpecific + 356 
20 
20 CoreFoundation 0x37261d49 CFRunLoopRunInMode + 104 
21 
21 GraphicsServices 0x3779e2eb GSEventRunModal + 74 
22 
22 UIKit 0x38640301 UIApplicationMain + 1120 
23 
23 MyApp 0x35bf main (main.m:11) 
+0

इसके अलावा मेरे पास कई अन्य अजीब दुर्घटनाएं हैं। क्या ऐसा हो सकता है क्योंकि सिस्टम कम स्मृति चेतावनी के बाद आवेदन बंद कर देता है? – Murlakatam

उत्तर

0

सबसे पहले, आपको क्रैश लॉग "प्रतीक" करने की आवश्यकता होगी। उस पर आपको निर्देश देने के लिए वहां बहुत सारे वेब पेज हैं।

चूंकि यह ढेर objc_msgSend पर समाप्त होता है, इसलिए सबसे संभावित कारण एक खतरनाक सूचक है।

उनको डीबग करने के लिए, मैं NSZombies का उपयोग करने की सलाह देता हूं। यदि आप सिम्युलेटर पर परीक्षण कर रहे हैं, तो आप "गार्ड मॉलोक" आज़मा सकते हैं।

0

यह क्रैश एक ऑब्जेक्ट पर एक पॉइंटर पर एक विधि का आह्वान करने के कारण होता है जो पहले से ही हटा दिया गया था। यह यूआईकिट तत्वों पर आपके कोड में कहीं भी एक बहुत आम रेफ गिनती त्रुटि है। लेकिन, अभ्यास के मामले में आपको क्या करना चाहिए, अपनी .DSYM फ़ाइल को क्रिटरसिज्म पर अपलोड करें। यह स्वचालित रूप से वेबसाइट के माध्यम से या Web API call के माध्यम से आपकी स्वचालित निर्माण प्रक्रिया के हिस्से के रूप में किया जा सकता है।

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