2011-10-14 21 views
6

के लिए डाइलिब त्रुटि के कारण सक्षम गार्ड मॉलोक का उपयोग नहीं कर सकता है एक्सकोड 4.x में मैंने अपनी रन स्कीम को 'गार्ड मॉलोक सक्षम करें' में संपादित किया है क्योंकि मेरे पास एक नोडस्क्रिप्ट मैलोक त्रुटि है जिसे मुझे ट्रैक करने की आवश्यकता है । मुझे पता है कि इस सुविधा का उपयोग करने के लिए मुझे सिम्युलेटर में भागने की जरूरत है। हालांकि, ऐसा एप्लिकेशन तुरंत जमा जब मैं करते हैं और Xcode मुझे एक स्टैक ट्रेस कि इस तरह दिखता है पता चलता है:एक्सकोड 4: आईपैड सिम्युलेटर

Stack trace in Xcode 4.x

मैं एक समाधान खोजने के लिए चारों ओर googled है, लेकिन अब तक कोई खुशी। यह कहीं और बताया गया था कि मुझे अपनी योजना में एक पर्यावरण चर स्थापित करना चाहिए:

DYLD_INSERT_LIBRARIES -> /usr/lib/libgmalloc.dylib 

हालांकि इससे समस्या हल नहीं होती है। मैंने मूल्य के रूप में 'lsystem' भी कोशिश की है, लेकिन यह भी काम नहीं करता है।

क्या कोई इस डिलिब मुद्दे का समाधान सुझा सकता है, या शायद यह पहचानने के लिए 'गार्ड मॉलोक सक्षम करें' के विकल्प की सिफारिश कर सकता है कि एक मॉलोकैड ढेर क्षेत्र पार हो रहा है?

अद्यतन

स्पष्ट करने के लिए, इस त्रुटि का प्रकार मैं के साथ काम कर रहा हूँ है:

malloc: *** error for object 0x2b4b54: incorrect checksum for freed object - object was probably modified after being freed. 
*** set a breakpoint in malloc_error_break to debug 

मैं malloc_error_break का प्रतीक ब्रेकप्वाइंट स्थापित करने की कोशिश की है, लेकिन यह अभी भी टूट जाता है 'बेतरतीब ढंग से 'आवंटित क्षेत्र से अधिक की स्थिति के बजाय स्मृति मुद्दों पर।

+0

कृपया टेक्स्ट के रूप में स्टैक निशान शामिल करें; मुझे Google के साथ आसानी से यह पृष्ठ नहीं मिला! –

+0

मुझे एक नई समस्या है, यहां तक ​​कि एक ब्रांड नई खाली उपयोगिता परियोजना पर भी। ऐसा लगता है कि मेरे इंस्टॉल पर कुछ टूटा हुआ है लेकिन अब तक इसे समझने में कोई भाग्य नहीं है। जब मैंने आईओएस 4.3 सिम्युलेटर पर स्विच किया तो समस्या दूर हो गई, इसलिए यह आईओएस 5 सिम्युलेटर के लिए कुछ विशिष्ट प्रतीत होता है। – russbishop

उत्तर

2

डिबगिंग के साथ मदद करने के लिए आप MallocStackLogging, सेट कर सकते हैं तो जब आपका ऐप्स क्रैश, gdb कंसोल में इस टाइप करें:

(gdb) info malloc-history 0x543216 

उद्देश्य यह है कि दुर्घटना का कारण बना के पते के साथ 0x543216 बदलें, और आप करेंगे एक बहुत अधिक उपयोगी स्टैक ट्रेस प्राप्त करें और इससे आपको समस्या का कारण बनने वाले कोड में सटीक रेखा को इंगित करने में मदद करनी चाहिए।

See this article for more detailed instructions.

+0

शानदार, धन्यवाद – KomodoDave

+0

एनपी, मदद करने में खुश। – chown

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

  • कोई संबंधित समस्या नहीं^_^