हमने पाया है कि हमारे जटिल आईफोन ऐप (ओबीजेसी, सी ++, जावास्क्रिप्ट/वेबकिट) असामान्य परिस्थितियों में फाइल डिस्क्रिप्टर लीक कर रहे हैं।आईओएस/आईफोन पर: "बहुत सारी खुली फाइलें": खुली फ़ाइलों को सूचीबद्ध करने की आवश्यकता है (जैसे lsof)
मुझे यह जानने की ज़रूरत है कि कौन सी फाइलें (फ़ाइल पथ से) हम खुले रह रहे हैं।
मुझे बीएसडी कमांड "एलएसओफ़" जैसी कुछ चाहिए, जो निश्चित रूप से आईओएस 4 में उपलब्ध नहीं है, कम से कम मेरे लिए नहीं। आदर्श रूप से एक सी या ओबीजेसी समारोह। या शार्क या इंस्ट्रूमेंट्स जैसे टूल। सभी ऐप्स/प्रक्रियाओं के लिए बस हमारे चल रहे ऐप के लिए फ़ाइलों की आवश्यकता नहीं है (जैसा कि lsof के साथ)।
हम फाइलों के साथ सभी प्रकार की चीजें करते हैं, और "बहुत सारी खुली फाइलों" के साथ असफल होने वाला कोड उम्र में नहीं बदला गया है, और हालात परिस्थितियों में असामान्य हैं, इसलिए यह महीनों पहले क्रिप्ट हो सकता था। तो मुझे कोड खोलने के लिए याद दिलाने की कोई ज़रूरत नहीं है जो फाइलें खोलती है और सुनिश्चित करें कि मैं उन्हें बंद कर दूं। मुझे यह पहले से पता है। कुछ lsof-esque के साथ इसे कम करने के लिए अच्छा होगा। धन्यवाद।
यह स्निपेट एक unity3d बग डीबग करने के तीन पूर्ण दिन समाप्त हुआ। आपको बहुत - बहुत धन्यवाद! – utahwithak
क्या आप आईओएस के लिए खुली फाइलों की सीमा जानते हैं? मुझे केवल 32 खुली फाइलों के साथ समान समस्या मिल रही है! –
बेवकूफ सवाल के लिए खेद है, लेकिन मुझे यह स्निपेट कहां रखना चाहिए और मैं अपने ऐप के लिए इसका उपयोग कैसे कर सकता हूं? – lub0v