objective c - मैं एक्सकोड 4 में NSZombieEnabled कैसे स्थापित करूं?
objective-c xcode (5)
एक्सकोड 7 पर
⌘ <
या Product
> Scheme
मेनू से Edit Scheme
चयन Edit Scheme
Diagnostics
टैब के रूप में Enable Zombie Objects
चयन Enable Zombie Objects
वैकल्पिक रूप से, यदि आप .xcconfig
फ़ाइलों को प्राथमिकता .xcconfig
हैं तो आप इस आलेख को पढ़ सकते हैं https://therealbnut.wordpress.com/2012/01/01/setting-xcode-4-0-environment-variables-from-a-script/
CFZombieLevel
4 में मेरे निष्पादन योग्य के लिए मैं CFZombieLevel
और CFZombieLevel
कैसे स्थापित CFZombieLevel
?
एक्सकोड 4.2 में
- परियोजना का नाम / योजना संपादित करें / निदान /
- ज़ोंबी ऑब्जेक्ट्स चेक बॉक्स सक्षम करें
- हो गया
एक्सकोड में> 4.3:
आप स्कीम ड्रॉप डाउन बार पर क्लिक करें -> योजना संपादित करें -> तर्क टैब और उसके बाद एनएसजेम्बी एनएनएबल को पर्यावरण चर वैरिएबल कॉलम और मूल्य कॉलम में YES जोड़ें।
शुभ लाभ !!!
कोको एक अच्छी सुविधा प्रदान करता है जो ऐसी स्थितियों को डीबग करने के लिए आपकी क्षमताओं को काफी बढ़ाता है। यह एक पर्यावरण चर है जिसे NSZombieEnabled कहा जाता है, इस video जो NSZombieEnabled को उद्देश्य-सी में स्थापित करने की व्याख्या करता है
मुझे यह विकल्प अधिक सुविधाजनक लगता है:
- "रन बटन ड्रॉपडाउन" पर क्लिक करें
- सूची से
Profile
चयन करें - कार्यक्रम "इंस्ट्रूमेंट्स" खोलना चाहिए जहां आप
Zombies
भी चुन सकते हैं - अब आप अपने ऐप से बातचीत कर सकते हैं और त्रुटि का कारण बन सकते हैं
- जैसे ही त्रुटि होती है आपको अपनी वस्तु जारी होने पर संकेत मिलता है और इसलिए अस्वीकार कर दिया जाता है।
जैसे ही एक ज़ोंबी का पता लगाया जाता है, तब आप एक साफ "ज़ोंबी स्टैक" प्राप्त करते हैं जो आपको दिखाता है कि जब वस्तु में प्रश्न आवंटित किया गया था और जहां इसे बनाए रखा गया था या जारी किया गया था:
Event Type RefCt Responsible Caller
Malloc 1 -[MyViewController loadData:]
Retain 2 -[MyDataManager initWithBaseURL:]
Release 1 -[MyDataManager initWithBaseURL:]
Release 0 -[MyViewController loadData:]
Zombie -1 -[MyService prepareURLReuqest]
एक्सकोड योजनाओं के नैदानिक टैब का उपयोग करने के मुकाबले लाभ :
यदि आप डायग्नोस्टिक टैब में विकल्प को अनचेक करना भूल जाते हैं तो स्मृति से कोई ऑब्जेक्ट जारी नहीं किया जाएगा।
आपको एक और विस्तृत स्टैक मिलता है जो आपको दिखाता है कि आपके भ्रष्ट ऑब्जेक्ट को आवंटित / जारी या बनाए रखा गया था।