আমি কীভাবে সেট আপ করব NSZombieEnabled
এবং CFZombieLevel
এক্সকোড 4 এ আমার এক্সিকিউটেবলের জন্য?
আমি কীভাবে সেট আপ করব NSZombieEnabled
এবং CFZombieLevel
এক্সকোড 4 এ আমার এক্সিকিউটেবলের জন্য?
উত্তর:
এক্সকোডে 4.x টিপুন
(অথবা ক্লিক Menubar
> Product
> Scheme
> Edit Scheme
)
"ডায়াগনস্টিক্স" ট্যাবটি নির্বাচন করুন এবং "জ্যাম্বি অবজেক্টস সক্ষম করুন" ক্লিক করুন:
এটি প্রকাশিত বস্তুগুলিকে NSZombie দৃষ্টান্তগুলিতে পরিণত করে যা আবার ব্যবহার করার সময় কনসোল সতর্কতাগুলি মুদ্রণ করে। এটি একটি ডিবাগিং সহায়তা যা মেমরির ব্যবহার বাড়ায় (কোনও বস্তু সত্যিই প্রকাশিত হয় না) তবে ত্রুটি প্রতিবেদনকে উন্নত করে।
একটি সাধারণ কেসটি হ'ল আপনি যখন কোনও বস্তুকে অতিরিক্ত ছাড়েন এবং আপনি জানেন না যে কোনটি:
-[UITableView release]: message sent to deallocated instance
আপনি অ্যাপ স্টোর জমা দেওয়ার জন্য অ্যাপ্লিকেশনটি সংরক্ষণাগারভুক্ত করার সময় এই এক্সকোড সেটিংটি উপেক্ষা করা হবে। আপনার আবেদন প্রকাশের আগে আপনাকে কোনও কিছু স্পর্শ করার দরকার নেই।
টিপলে ⌥⌘Rপণ্য> চালু করুন নির্বাচন যখন পালন হিসাবে একই Altকি টেপা।
"জুম্বো অবজেক্টস সক্ষম করুন" চেকবাক্সটি ক্লিক করা ট্যাব আর্গুমেন্টগুলির "পরিবেশ পরিবর্তনশীল" বিভাগে ম্যানুয়ালি "NSZombieEnabled = YES" যোগ করার সমান।
CMD-<
( CMD-SHIFT-comma
), বাProduct -> Scheme -> Edit SCheme...
জ্যানোর উত্তরটি এটির সন্ধান করার সহজতম উপায় .. অন্য উপায়টি হ'ল যদি আপনি স্কিমের ড্রপ ডাউন বার -> সম্পাদনা প্রকল্প -> আর্গুমেন্ট ট্যাবে ক্লিক করেন এবং তারপরে পরিবেশ পরিবর্তনশীল কলামে NSZombieEn اهل এবং মান কলামে YES যুক্ত করেন ...
আমি এই বিকল্পটি আরও সুবিধাজনক বলে মনে করি:
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]
এক্সকোড স্কিমগুলির ডায়াগনস্টিক ট্যাব ব্যবহারের তুলনায় সুবিধাগুলি :
আপনি যদি ডায়াগনস্টিক ট্যাবে বিকল্পটি চেক করতে ভুলে যান তবে কোনও জিনিসই মেমরি থেকে মুক্তি পাবে না।
আপনি একটি আরও বিশদ স্ট্যাক পাবেন যা আপনাকে দেখায় যে কীভাবে আপনার দূষিত বস্তুটি বরাদ্দ / মুক্তি বা রক্ষণাবেক্ষণ করা হয়েছিল methods
iOS Simulator > All
প্রধান টেম্পলেট তালিকাটি থেকে বেছে নিচ্ছেন (আপনি কেবল সিমুলেটরটিতে এটি করতে পারেন)
এক্সকোডে 4.2
অথবা > মেনু Edit Scheme
থেকে নির্বাচন করুনProduct
Scheme
ট্যাব Enable Zombie Objects
ফর্ম নির্বাচন করুনDiagnostics
বিকল্প হিসাবে, আপনি যদি .xcconfig
ফাইলগুলি পছন্দ করেন তবে আপনি এই নিবন্ধটি https://therealbnut.wordpress.com/2012/01/01/setting-xcode-4-0- পরিবেশ - পরিবর্তনশীল- from- a- script/ পড়তে পারেন
কোকো একটি দুর্দান্ত বৈশিষ্ট্য সরবরাহ করে যা এই ধরনের পরিস্থিতিতে ডিবাগ করার জন্য আপনার ক্ষমতাগুলিকে ব্যাপকভাবে বাড়িয়ে তোলে। এটি এনভায়রনমেন্ট ভেরিয়েবল, যাকে এনএসজম্বিএনেবলড বলা হয়, এই ভিডিওটি দেখুন যা এনএসজম্বিএনেবেলডকে সিটিজেক্ট-সি-তে সেটআপ করার ব্যাখ্যা দেয় watch
এক্সকোডে> 4.3:
আপনি স্কিমের ড্রপ ডাউন বার -> স্কিম সম্পাদনা -> আর্গুমেন্ট ট্যাবে ক্লিক করুন এবং তারপরে এনভোমোম্বইএনবেবলটি ভেরিয়েবল কলামে এবং মান কলামে YES যুক্ত করুন।
শুভকামনা !!!