এক্সকোডে এনএসজেম্বি কীভাবে সক্ষম করবেন?


302

আমার একটি অ্যাপ্লিকেশন রয়েছে যা কোনও ত্রুটি সনাক্তকরণের সাথে ক্র্যাশ হচ্ছে। আমি ডিবাগ করলে কী চলছে তার একটি অংশ দেখতে পাচ্ছি, তবে কোন বস্তুটি "জম্বি-ইনগ" তা বুঝতে পারছি না।

এক্সকোড 4 এ এনএসজেম্বি কীভাবে সক্ষম করবেন তা কি কেউ জানেন?

উত্তর:


440

পরিবেশের ভেরিয়েবলগুলি এখন "পরিকল্পনার" অংশ।

স্কিমটি সম্পাদনা করতে এবং জম্বিগুলি চালু করতে:

  • "পণ্য" মেনুতে, "স্কিম সম্পাদনা করুন" নির্বাচন করুন।

  • বাম প্যানেলে "Foo.app রান করুন" পর্যায়ে এবং ডানদিকে "যুক্তি" ট্যাবে যান।

  • যোগ NSZombieEnabled"পরিবেশ ভেরিয়েবল" বিভাগে এবং মান সেট YES, আপনি Xcode 3 পারা যায়।


এক্সকোড ৪.১ এবং এর উপরে , "রান্বো" অবজেক্টস সক্ষম করতে "রান" পর্যায়ে "ডায়াগনস্টিক্স" ট্যাবে একটি চেকবাক্স রয়েছে।


এক্সকোড 6.4 সহ:

স্ক্রিনশট


5
ডিভাইসে অবলম্বন করা অবজেক্টটিতে কলটি ভেঙে যায় না, এটি ঘটানোর কোনও উপায়?
jjxtra

95
এটি আবার পরিবর্তন হয়েছে ৪.২-এ, নীচে আমার উত্তরটি দেখুন। প্রোডাক্ট-> এডিট স্কিম-> ডায়াগনস্টিকস
মোশে ক্রাভিক

এক্সকোডে, উপরে অবস্থিত সহায়তা মেনুতে (ডানদিকে সর্বশেষ একটি) "সম্পাদনা স্কিম" অনুসন্ধান করুন এটি আপনাকে যে কোনও সংস্করণে প্রতিবার সঠিক দিকে নির্দেশ করবে।
আনোম

আমরা যদি আমাদের অ্যাপ্লিকেশনটিতে এই NSZombieEnabled বৈশিষ্ট্যটি সক্ষম করে থাকি তবে আমরা কি অ্যাপটি সংরক্ষণের জন্য ছেড়ে দেব ..? কারণ আমি একটি পোস্ট দেখেছি যা বলছে যে আমরা যখন এই বৈশিষ্ট্যটি সক্ষম করি তখন সঞ্চয় করার জন্য এটি ভাল অভ্যাস নয়।
সুরাশ সানকে

2
জালিয়াতিগুলি পরে আসার জন্য, এক্সকোড .1.১ এ আপনি মেনুতে যান পণ্য> প্রকল্প-সম্পাদনা প্রকল্প> ডায়াগনস্টিকস ট্যাব> চেকবক্সটি বোকচন্দর বস্তু সক্ষম করে
জোশুয়া ডান্স

146

EXC_BAD_ACCESS সমস্যা সমাধানের ক্ষেত্রে আমি একই সমস্যার মুখোমুখি হয়েছি এবং এক্সকোড ৪.২ (আইওএস 5 এসডিকে সাথে আসা সর্বশেষতমটি) এর সাথে সেটিংসটি খুঁজে পেতে আমার খুব কষ্ট হয়েছিল। অ্যাপল চলমান জিনিসগুলিকে চালিয়ে যায় এবং সেটিংস আর আগের মতো ছিল না।

ভাগ্যক্রমে, আমি এটি খুঁজে পেয়েছি এবং এটি ডিভাইসটির জন্য কাজ করে, কেবল সিমুলেটর নয়। আপনাকে এক্সকোডে পণ্য মেনু খুলতে হবে, সম্পাদনা প্রকল্পটি নির্বাচন করুন এবং তারপরে ডায়াগনস্টিকস ট্যাবটি নির্বাচন করুন। সেখানে আপনার কাছে "জেমোবজ অবজেক্টস সক্ষম করুন"। একবার নির্বাচিত হয়ে ডিবাগারটিতে চালানো আপনাকে ডাবল প্রকাশিত অবজেক্টের দিকে নির্দেশ করবে! উপভোগ করুন!

সংক্ষেপে

Product->Edit Scheme->Diagnostics-> Click Enable Zombie Objects

2
এক্সকোডে, উপরে অবস্থিত সহায়তা মেনুতে (ডানদিকে সর্বশেষ একটি) "সম্পাদনা স্কিম" অনুসন্ধান করুন এটি আপনাকে যে কোনও সংস্করণে প্রতিবার সঠিক দিকে নির্দেশ করবে।
আনোম

43

প্রোডাক্ট> প্রোফাইল ইনস্ট্রুমেন্টস চালু করবে এবং তারপরে আপনার "জম্বি" নামে একটি "ট্রেস টেম্পলেট" থাকা উচিত। তবে এই ট্রেস টেমপ্লেটটি কেবল তখনই উপলভ্য যদি বর্তমান বিল্ড গন্তব্য সিমুলেটর হয় - এটি আপনার আইওএস ডিভাইসে গন্তব্য নির্ধারণ করা থাকলে এটি উপলব্ধ হবে না।

এছাড়াও আরেকটি বিষয় লক্ষণীয় হ'ল যন্ত্র লাইব্রেরিতে আসল জম্বি ইনস্ট্রুমেন্ট নেই। জম্বিগুলি ট্রেস টেম্পলেটটি আসলে "এনএসজেম্বি সনাক্তকরণ সক্ষম করুন" লঞ্চ কনফিগারেশন সেট সহ বরাদ্দ উপকরণ নিয়ে থাকে।


13
"তবে এই ট্রেস টেমপ্লেটটি কেবলমাত্র যদি বর্তমান বিল্ড গন্তব্য সিমুলেটর হয় তবে উপলভ্য।" ধন্যবাদ!
ajh158

ধন্যবাদ, আমি এটিই খুঁজছিলাম!
ক্লিফ রিবাউডো

এক্সকোডে, উপরে অবস্থিত সহায়তা মেনুতে (ডানদিকে সর্বশেষ একটি) "সম্পাদনা স্কিম" অনুসন্ধান করুন এটি আপনাকে যে কোনও সংস্করণে প্রতিবার সঠিক দিকে নির্দেশ করবে।
আনোম

25

এটা আপনার এক্সিকিউটেবল উপর একটি এনভায়রনমেন্ট ভেরিয়েবল সেট করার একটি সহজ ব্যাপার (NSZombieEnabled = YES), এবং তারপর চলমান / আপনার অ্যাপ normal.If হিসাবে আপনি বার্তা একটি বোকচন্দর ডিবাগ, আপনার অ্যাপ্লিকেশন ক্র্যাশ / ডিবাগারে বিরতি হবে NSLogআপনার জন্য একটি বার্তা।

আরও তথ্যের জন্য, এই কোকোদেব পৃষ্ঠাটি দেখুন: http://www.cocoadev.com/index.pl?NSZombieEn सक्षम

এছাড়াও, 10.6 প্রকাশ এবং এক্সকোড এবং ইনস্ট্রুমেন্টগুলির পরবর্তী সংস্করণগুলির সাথে এই প্রক্রিয়াটি আরও সহজ হয়ে উঠবে। এমনি বলছি'. =)


সম্পূর্ণ একমত. নতুন Zombies ইনস্ট্রুমেন্ট খুব সুন্দর।
কুইন টেলর 15

22

পণ্য> প্রোফাইল যন্ত্রগুলি পপআপ করবে। প্যানেল থেকে জম্বি নির্বাচন করুন এবং বাদাম যান।


5
@ জ্লুয়েবার্ট আমি আরও কঠোর চেষ্টা করে বলব কারণ আমি অবশ্যই এটি দেখতে পেয়েছি,
এক্সকোড ৩.০২ চালাচ্ছি

16

যান স্কিম - - পণ্য সম্পাদন করা স্কীম - আর্গুমেন্ট - পরিবেশ ভেরিয়েবল সেট NSZombieEnabled = yes

এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন


12

এক্সকোডে 4.2

গোটো, পণ্য -> সম্পাদনা প্রকল্প -> রান ইউর্যাপনেম ক্লিক করুন - অ্যাপ্লিকেশন -> ডায়াগোনস্টিকস -> জম্বি অবজেক্টটি সক্ষম করুন।



6

Xcode 3.2.5 এবং তুষার চিতা (Mac OS X এর 10.6) এর হিসাবে, আপনি zombies উপকরণ মাধ্যমে আপনার কোড রান করতে পারেন: Run > Run with Performance Tool > Zombies। এটি আপনাকে একটি নির্দিষ্ট লাইনে নির্দিষ্ট অবজেক্ট এবং তাদের ধরে রাখার গণনা দেখতে দেয়।


1
আমি জম্বি বিকল্প দেখতে পাচ্ছি তবে এটি ধূসর। আপনি কীভাবে এটি সক্ষম হন জানেন?
রাহুল ব্যাস

@ রাহুলভিয়াস, আমি এর আগে কখনও দেখিনি, তবে আপনার কি আবর্জনা সংগ্রহ চালু আছে? আমি দেখতে পাচ্ছিলাম যে
জম্বিগুলি

আমি সেটিংসে আবর্জনা সংগ্রহ চালু করেছি যা এটি সমর্থিত [-fobjc-gc] দেখায় তবে এখনও সেই বিকল্পটি অক্ষম। ইনফ্যাক্ট কেবলমাত্র শেষ 5 টি বিকল্প যন্ত্র বিভাগে সক্ষম করা হয়েছে। অন্য কোন ধারণা? নাকি আমি কিছু ভুল করছি?
রাহুল ব্যাস

@ রাহুলভিয়াস: দুঃখিত, পরিষ্কার হওয়ার জন্য আমি ভেবেছিলাম যে আবর্জনা সংগ্রহ বন্ধ করা সম্ভবত জুম্বিকে সক্ষম করবে, কারণ আবর্জনা সংগ্রহের সাথে জম্বি রাখা সম্ভব বলে আমি মনে করি না। যদি এটি সমাধান না করে তবে আমি ইনস্ট্রুমেন্টস ডকুমেন্টেশন পড়ার পরামর্শ দেব (প্রতিটি উপকরণে তাদের ভাল লেখার ব্যবস্থা রয়েছে) এবং আপনি এখনও তা অর্জন না করে থাকলে, বিস্তৃত মনোযোগ পেতে এখানে একটি প্রশ্ন পোস্ট করুন (এবং শেষ পর্যন্ত একটি উত্তর) ।
ডভ

4

এক্সকোডে ৪.৪.২-তে পণ্য -> সম্পাদনা প্রকল্প -> এবং ডায়াগনস্টিকস ট্যাবের অধীনে উদ্দেশ্য সি এবং জ্যাম্বি অবজেক্ট সক্ষম করুন এবং ঠিক আছে ক্লিক করুন


3

জম্বি লগিং সক্ষম করতে আপনার এক্সকোড প্রকল্পের এক্সিকিউটেবল গ্রুপে এক্সিকিউটেবলকে ডাবল ক্লিক করুন। এই মুহুর্তে আর্গুমেন্টস ট্যাবটি ক্লিক করুন এবং Variables to be set in the environment:বিভাগে, একটি ভেরিয়েবল কল করুন NSZombieEnabledএবং এর মান সেট করুন YES


3

এক্সকোড 4.0.০ তে: ইনস্ট্রুমেন্টসে এনএস জম্বি সনাক্ত করতে, আপনার লক্ষ্য হিসাবে সিমুলেটরটি নির্বাচন করুন (ডিভাইসে এনএসডোমবোটি সনাক্ত করতে পারে না)। ইনস্ট্রুমেন্টস (সিএমডি + আই) চালান এবং "জম্বিগুলি" ট্রেস টেম্পলেট নির্বাচন করুন। উপভোগ করুন।


2

আপনার এক্সিকিউটেবলের পছন্দগুলিতে পরিবেশ পরিবর্তনশীল যুক্ত করুন NSZombieEnabledএবং এতে মান সেট করুন YES


2

আপনার এক্সকোডে (4.3) পরবর্তী প্লে বোতাম :) (চালানো)

নির্বাচন করুন: স্কিম সম্পাদনা করুন

স্কিম পরিচালনার উইন্ডোটি খুলবে

আর্গুমেন্ট ট্যাবে ক্লিক করুন

আপনার দেখতে হবে: 1- প্রবর্তন 2- পরিবেশের ভেরিয়েবলগুলিতে তর্কগুলি পাস হয়েছে

(2- পরিবেশের ভেরিয়েবল) জায়গার ভিতরে স্থানের নাম: এনএসবিম্বিএএনবেলড
মান: হ্যাঁ

এবং এটি সম্পন্ন ....


1

NSZombieEnable ডিবাগিং BAD_ACCESS এর জন্য ব্যবহৃত হয়,

এক্সকোডের স্কিম শীট থেকে এনএসজেবিবিস-এনেবলড এনভায়রনমেন্ট ভেরিয়েবল সক্ষম করুন।

Click on Product⇒Edit Scheme to open the sheet and set the Enable Zombie Objects check box

আমি কী বলতে চাইছি তা জানার জন্য এই ভিডিওটি আপনাকে সহায়তা করবে।


@ ক্লিওপাত্রা ধন্যবাদ যথাযথ সেটিং
ব্যবহারকারী 2554822 এর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.