2011-11-09 15 views
39

के कारण को ट्रैक करने के लिए कैसे करें मैं उदाहरण के प्रयोजनों के लिए इस समस्या का कोड दिखा रहा हूं, लेकिन वास्तव में मेरा प्रश्न है: मुझे एसआईजीएबीआरटी त्रुटियों को कैसे ट्रैक करना और समझना है? मैंने यह प्रश्न पढ़ा: sigabrt with no error message, हालांकि मुझे नहीं लगता कि यह मेरी समस्या से संबंधित है।SIGABRT

उदाहरण जो मैं नीचे दिखाऊंगा वह स्पष्ट रूप से एक xib समस्या नहीं है, और एसआईजीएबीआरटी प्राप्त करने से पहले कभी अनचाहे अपवादों के साथ और अधिक लग रहा था। मैंने जीडीबी के bt का उपयोग करने की कोशिश की है लेकिन इससे मदद नहीं मिलती है। क्या देखने के लिए एक और व्यापक डंप नहीं है? मैंने NSZombie का भी उपयोग किया है, लेकिन मुझे वास्तव में यह समझ में नहीं आता कि इसका उपयोग कैसे किया जाए, इसलिए यदि यह आपका उत्तर है, तो कृपया दस्तावेज के लिए एक लिंक प्रदान करें कि मुझे इससे प्रासंगिक डेटा कैसे प्राप्त किया जाए।

मेरा उदाहरण यहां है: मैं कोर डेटा का उपयोग करने की कोशिश कर रहा हूं। मेरी परियोजना मूल रूप से इसके साथ स्थापित नहीं की गई थी, इसलिए मुझे इसे मैन्युअल रूप से जोड़ना पड़ा, जो मैंने अपनी परियोजना> बिल्ड चरणों> लाइब्रेरी के साथ लिंक बाइनरी> प्लस पर क्लिक करके और CoreData.framework

पर जाने के बाद किया था। फ़ाइल> नया> डेटा मॉडल पर जाकर मेरा डेटा मॉडल बनाया।

//code removed, as its not needed for the question/answer 
: मैं काफी कुछ गुण बनाया है और कि

उसके बाद यह है, मैं अनुप्रयोग प्रतिनिधि को उचित तरीके (मैं कोर डेटा के साथ एक नई परियोजना का निर्माण, तो अधिक तरीकों को कॉपी करके ऐसा किया) जोड़ा

इस के बाद मैं सिर्फ प्रबंधित वस्तु के लिए एक मूल्य को बचाने की कोशिश (एक बार फिर से, एक नई परियोजना के साथ डिफ़ॉल्ट कार्यान्वयन से नकल कोड):

//code removed, as its not needed for the question/answer 

लेकिन सब मुझे मिलता है जब मैं निष्पादित addTime विधि है SIGABRT त्रुटि।

xcode error

+0

मैं एक और टिप्पणी की वजह से यह एक पुन: पढ़ने एक पूर्व पोस्ट पर छोड़ दिया है। मैं समझ सकता हूं कि क्या यह पठनीय नहीं है लेकिन विशेष रूप से आपको किस हिस्से में समस्याएं हैं। –

+0

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

+0

लॉल से पहले ही आपने इसे किया है। धन्यवाद।जैसे मैंने कहा कि मैंने उम्मीद में पोस्ट करने के बाद इसे फिर से पढ़ा है कि मैं इस टिप्पणी में फिर से नहीं दौड़ूंगा। मैं चीजों को ठीक से लिखता हूं। मुझे कभी ज़रूरत नहीं है, इसलिए मेरे लिए तोड़ने के लिए यह एक बहुत कठिन आदत होगी लेकिन भविष्य में मैं कोशिश करूंगा। –

उत्तर

71

SIGABRT बढ़ जाता है जब एक वस्तु लागू नहीं किया गया संदेश प्राप्त करता है। आपके ऐप में कितनी चेतावनियां हैं? उनके माध्यम से सर्फिंग करने का प्रयास करें और उन लोगों को ढूंढें जो आपको चेतावनी देते हैं "कुछ ऑब्जेक्ट कुछ चयनकर्ता का जवाब नहीं दे सकता है", यदि आप इन सभी से अपना ऐप साफ़ करते हैं, तो आप शायद इसे सही ढंग से काम कर पाएंगे।

संपादित करें: जो नीचे टिप्पणी से जवाब बहुत मददगार हैं:

ठीक है, यहाँ भारी तोपखाने से चला जाता है - आप विच्छेदबिंदु उपयोग करने की कोशिश की है? अपने प्रोजेक्ट एक्सप्लोरर में छठे टैब को खोलें, नीचे बाएं कोने टैप + -> अपवाद ब्रेकपॉइंट जोड़ें -> हो गया। यह एक अपवाद हैंडलर जोड़ देगा जो आपके ऐप को बहुत ही विधि कॉल पर रोक देगा जो ऐप को क्रैश करता है।

संपादित करें: xCode 5.0 के रूप में> आपको अब यह निर्दिष्ट करने की आवश्यकता नहीं है कि ब्रेकपॉइंट बनने के दौरान आपका ब्रेकपॉइंट कैसा पकड़ रहा है। आपको बस + -> अपवाद ब्रेकपॉइंट जोड़ें और आप अच्छे हैं।

enter image description here

+0

मेरे पास कुल 4 (3 जिनमें से 3 अप्रयुक्त वस्तुओं के लिए हैं और तीसरा असंगत सूचक प्रकार है। इनमें से कोई भी –

+42

से ऊपर उपयोग की जाने वाली किसी भी कक्षा को इंगित करता है ठीक है, यहां भारी तोपखाने हो गई है - क्या आपने ब्रेकपॉइंट्स का उपयोग करने की कोशिश की है? छठा खोलें अपने प्रोजेक्ट एक्सप्लोरर में टैब, निचले बाएं कोने टैप में + -> अपवाद ब्रेकपॉइंट जोड़ें -> हो गया। यह एक अपवाद हैंडलर जोड़ देगा जो आपके ऐप को बहुत ही विधि कॉल पर रोक देगा जो ऐप को क्रैश करता है। – Eugene

+0

धन्यवाद, मैंने अपना प्रबंधितोबेट पाया शून्य था, इससे जेनेरिक सिगबर्ट त्रुटि को ट्रैक करने में मदद मिली। कृपया अगर आपके पास उत्तर में आपकी टिप्पणी है, तो बीमार इसे उत्तर के रूप में चिह्नित करें लेकिन वास्तव में यह टिप्पणी है जो मेरे लिए यह करती है। –

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