जवाबों:
पर्यावरण चर अब "योजना" का हिस्सा हैं।
योजना को संपादित करने और लाश को चालू करने के लिए:
"उत्पाद" मेनू में, "योजना संपादित करें" चुनें।
बाएं पैनल में "रन Foo.app" चरण पर जाएं, और दाईं ओर "तर्क" टैब।
जोड़ें NSZombieEnabled
"पर्यावरण चर" अनुभाग पर और करने के लिए मान सेट YES
, आप Xcode 3 में कर सकता।
Xcode 4.1 और इसके बाद के संस्करण में , "रन ऑब्जेक्ट" स्टेज पर "ज़ोंबी ऑब्जेक्ट्स सक्षम करें" के "डायग्नोस्टिक्स" टैब पर एक चेकबॉक्स भी है।
Xcode 6.4 के साथ:
मुझे EXC_BAD_ACCESS के समस्या निवारण में समान समस्या का सामना करना पड़ा और Xcode 4.2 (नवीनतम संस्करण जो iOS5 SDK के साथ आता है) के साथ सेटिंग को खोजने के लिए कठिन समय था। Apple चीजों को आगे बढ़ाता है और सेटिंग्स अब वे नहीं हैं जहां वे हुआ करते थे।
सौभाग्य से, मैंने इसे पाया है और यह केवल सिम्युलेटर नहीं, बल्कि डिवाइस के लिए काम करता है। आपको Xcode में उत्पाद मेनू खोलने की जरूरत है, संपादन योजना का चयन करें और फिर डायग्नोस्टिक्स टैब चुनें। वहां आपके पास "सक्षम ज़ोंबी ऑब्जेक्ट्स" हैं। एक बार चयनित और डिबगर में चलाने के बाद आप डबल जारी की गई वस्तु की ओर इशारा करेंगे! का आनंद लें!
संक्षेप में
Product->Edit Scheme->Diagnostics-> Click Enable Zombie Objects
उत्पाद> प्रोफ़ाइल इंस्ट्रूमेंट्स लॉन्च करेगा और फिर आपको "लाश" नाम का एक "ट्रेस टेम्पलेट" होना चाहिए। हालाँकि यह ट्रेस टेम्प्लेट केवल तभी उपलब्ध होता है यदि वर्तमान बिल्ड डेस्टिनेशन सिम्युलेटर है - यह उपलब्ध नहीं होगा यदि आपके पास आपके आईओएस डिवाइस पर गंतव्य सेट है।
यह भी ध्यान देने वाली एक और बात यह है कि इंस्ट्रूमेंट लाइब्रेरी में कोई वास्तविक लाश नहीं है। लाश ट्रेस टेम्प्लेट में वास्तव में "एनज़ॉम्बी ज़ोंबी डिटेक्शन सक्षम करें" लॉन्च कॉन्फ़िगरेशन सेट के साथ आवंटन उपकरण शामिल हैं।
यह आपके निष्पादन योग्य पर एक पर्यावरण चर स्थापित करने का एक साधारण मामला है (NSZombieEnabled = YES)
, और फिर अपने ऐप को सामान्य रूप में चला / डिबग कर रहा है। यदि आप एक ज़ोंबी संदेश देते हैं, तो आपका ऐप क्रैश हो जाएगा / डीबगर और NSLog
आपके लिए एक संदेश तोड़ देगा ।
अधिक जानकारी के लिए, यह कोकोआ पृष्ठ देखें: http://www.cocoadev.com/index.pl?NSZombieEnabled
साथ ही, 10.6 और Xcode और इंस्ट्रूमेंट्स के अगले संस्करणों के रिलीज के साथ यह प्रक्रिया बहुत आसान हो जाएगी। बस केह रहा हू'। =)
उत्पाद> प्रोफ़ाइल इंस्ट्रूमेंट को पॉप अप करेगा। पैनल से लाश का चयन करें और पागल हो जाओ।
यहां iOS पर मेमोरी क्रैश को खोजने और ठीक करने के लिए इंस्ट्रूमेंट्स और NSZombie का उपयोग करने का एक वीडियो और स्पष्टीकरण दिया गया है: http://www.markj.net/iphone-memory-debug-nszombie/
Xcode 3.2.5 और स्नो लेपर्ड (Mac OS X 10.6) के रूप में, आप अपना कोड लाश इंस्ट्रूमेंट के माध्यम से चला सकते हैं Run > Run with Performance Tool > Zombies
:। यह आपको विशेष वस्तुओं को देखने की अनुमति देता है और समय पर उनकी गणना को बनाए रखता है।
ज़ोंबी लॉगिंग को सक्षम करने के लिए अपने Xcode प्रोजेक्ट के निष्पादन समूह में निष्पादन योग्य को डबल-क्लिक करें। इस बिंदु पर आर्ग्युमेंट्स टैब पर क्लिक करें और Variables to be set in the environment:
सेक्शन में, एक वैरिएबल बनायें NSZombieEnabled
और इसके मान को सेट करें YES
।
अपने निष्पादन योग्य की प्राथमिकताओं में पर्यावरण चर जोड़ें NSZombieEnabled
और मूल्य निर्धारित करें YES
।
उर XCODE (4.3) प्ले बटन के आगे :) (रन)
चयन करें: योजना संपादित करें
योजना प्रबंधन विंडो खुल जाएगी
तर्क टैब पर क्लिक करें
आपको देखना चाहिए: 1- लॉन्च 2- पर्यावरण चर पर तर्क पारित हुए
(2- पर्यावरण चर) जगह के अंदर नाम: NSZombieEnabled
मूल्य: YES
और इसका किया…।
NSZombieEnabled का उपयोग BAD_ACCESS डिबगिंग के लिए किया जाता है,
Xcode की स्कीम शीट से NSZiliEnabled पर्यावरण चर को सक्षम करें।
Click on Product⇒Edit Scheme to open the sheet and set the Enable Zombie Objects check box
यह वीडियो आपको यह देखने में मदद करेगा कि मैं क्या कहना चाह रहा हूं।