2012-12-22 13 views
9

हमारे ऐप को स्मृति या स्मृति भ्रष्टाचार की स्थिति से बाहर दिखने के कारण क्षेत्र में कभी-कभी दुर्घटनाओं का सामना करना पड़ रहा है (इसलिए बगसेन के माध्यम से खोजा गया), ताकि मुझे ट्रैक करने में मदद मिल सके, मैंने निम्नलिखित को सक्षम किया:गार्डमॉलोक परिणामस्वरूप वर्चुअल मेमोरी थका हुआ

  • Malloc घसीटना
  • Malloc गार्ड किनारों
  • गार्ड Malloc
  • ऑब्जेक्टिव-सी ज़ोंबी ऑब्जेक्ट्स
  • Malloc ढेर लॉगिंग
  • लॉग अपवाद।

सिम्युलेटर (30 सेकंड से कम) में एक बिट के लिए एप्लिकेशन के साथ सहभागिता करने के बाद, निम्न संदेश प्रदर्शित होता है:

GuardMalloc[TrafficDemoEmp-2430]: allocate_pages(): virtual memory exhaused! 
GuardMalloc[TrafficDemoEmp-2430]: expandUniquingTable(): VMCopyFailed 
GuardMalloc[TrafficDemoEmp-2430]: allocate_pages(): virtual memory exhaused! 
GuardMalloc[TrafficDemoEmp-2430]: expandUniquingTable(): VMCopyFailed 

गार्ड Malloc के साथ अक्षम एप्लिकेशन ठीक काम करता है, लेकिन यह साथ सक्षम ऐप इन संदेशों के साथ दुर्घटनाग्रस्त हो जाता है। जब मैं लीक और आवंटन उपकरणों के साथ प्रोफाइल करता हूं तो कोई रिसाव नहीं मिलता है और सभी मेमोरी के लिए लाइव बाइट्स मान 30 एमबी और 80 एमबी के बीच होता है (उस समय के दौरान यह क्या कर रहा है)। निश्चित रूप से यह एक ऐप के लिए बहुत अधिक स्मृति नहीं है।

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

धन्यवाद,
डेविड

+3

NSZombies वास्तव में मुक्त होने के लिए स्वतंत्र कुछ भी नहीं करेंगे, और यदि आप बहुत सारे आवंटन कर रहे हैं तो स्मृति को समाप्त करें। – user1118321

+0

लाश को अक्षम करने से इस समस्या को हल किया जाता है। धन्यवाद। –

+0

हाय, वही समस्या थी और ज़ोंबी अक्षम करने के साथ तय किया गया .. धन्यवाद। लेकिन मुझे यह नहीं मिल रहा है कि यह कैसे प्रभावित होता है, क्या आप कृपया मुझे समझा सकते हैं? – Nikunj

उत्तर

9

User1118321 सही था। NSZombies इस समस्या का कारण था।

इस उत्तर को दर्ज करना इतना जवाब स्वीकार किया जा सकता है।

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