हमारे ऐप को स्मृति या स्मृति भ्रष्टाचार की स्थिति से बाहर दिखने के कारण क्षेत्र में कभी-कभी दुर्घटनाओं का सामना करना पड़ रहा है (इसलिए बगसेन के माध्यम से खोजा गया), ताकि मुझे ट्रैक करने में मदद मिल सके, मैंने निम्नलिखित को सक्षम किया:गार्डमॉलोक परिणामस्वरूप वर्चुअल मेमोरी थका हुआ
- 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 एमबी के बीच होता है (उस समय के दौरान यह क्या कर रहा है)। निश्चित रूप से यह एक ऐप के लिए बहुत अधिक स्मृति नहीं है।
हालांकि, संदेश बहुत अधिक मेमोरी का उपयोग करके मेरे ऐप को इंगित करते हैं लेकिन मुझे यकीन नहीं है कि वर्चुअल मेमोरी थकावट क्या हो रहा है। क्या अन्य टूल्स या डीबगर सेटिंग्स हैं जो मदद के लिए एक्सकोड में उपलब्ध हैं?
धन्यवाद,
डेविड
NSZombies वास्तव में मुक्त होने के लिए स्वतंत्र कुछ भी नहीं करेंगे, और यदि आप बहुत सारे आवंटन कर रहे हैं तो स्मृति को समाप्त करें। – user1118321
लाश को अक्षम करने से इस समस्या को हल किया जाता है। धन्यवाद। –
हाय, वही समस्या थी और ज़ोंबी अक्षम करने के साथ तय किया गया .. धन्यवाद। लेकिन मुझे यह नहीं मिल रहा है कि यह कैसे प्रभावित होता है, क्या आप कृपया मुझे समझा सकते हैं? – Nikunj