Yanıtlar:
Ortam değişkenleri artık "şemanın" bir parçasıdır.
Şemayı düzenlemek ve zombileri açmak için:
"Ürün" menüsünde, "Düzeni Düzenle" yi seçin.
Sol paneldeki "Run Foo.app" aşamasına ve sağdaki "Bağımsız Değişkenler" sekmesine gidin.
NSZombieEnabled
"Ortam Değişkenleri" bölümüne ekleyin ve YES
Xcode 3'te olduğu gibi değeri olarak ayarlayın .
Xcode 4.1 ve üzeri sürümlerde , "Çalıştır" aşamasının "Tanı" sekmesinde "Zombi Nesnelerini Etkinleştir" seçeneğinin bulunduğu bir onay kutusu da vardır.
Xcode 6.4 ile:
EXC_BAD_ACCESS sorun giderme ile aynı sorunla karşılaştım ve Xcode 4.2 (iOS5 SDK ile birlikte gelen en son) ile ayarı bulmak için zor zaman geçirdim. Apple hareket etmeye devam ediyor ve ayarlar artık eskisi gibi değil.
Neyse ki, buldum ve sadece Simulator için değil, cihaz için çalışıyor. Xcode'da Ürün menüsünü açmanız, Düzeni düzenle'yi ve ardından Teşhis sekmesini seçmeniz gerekir. Orada "Zombi Nesnelerini Etkinleştir" var. Bir kez seçilen ve hata ayıklayıcıda çalıştırmak sizi çift serbest bırakılmış nesneye işaret edecek! Zevk almak!
Kısacası
Product->Edit Scheme->Diagnostics-> Click Enable Zombie Objects
Ürün> Profil, Cihazları başlatır ve ardından "Zombiler" adında bir "İzleme Şablonu" olmalıdır. Bununla birlikte, bu izleme şablonu yalnızca mevcut oluşturma hedefi simülatörse kullanılabilir - hedef, iOS cihazınıza ayarlanmışsa kullanılamaz.
Ayrıca dikkat edilmesi gereken başka bir şey, enstrüman kütüphanesinde gerçek bir Zombies enstrümanı olmamasıdır. Zombiler izleme şablonu aslında "NSZombie algılamayı etkinleştir" başlatma yapılandırma kümesine sahip Tahsisler aracından oluşur.
Bu, çalıştırılabilir programınıza bir ortam değişkeni ayarlamak (NSZombieEnabled = YES)
ve ardından uygulamanızı normal olarak çalıştırmak / hata ayıklamak için basit bir konudur.Bir zombi mesajı gönderiyorsanız, uygulamanız hata ayıklayıcıya / mesajına çökecektir NSLog
.
Daha fazla bilgi için şu CocoaDev sayfasına göz atın: http://www.cocoadev.com/index.pl?NSZombieEnabled
Ayrıca, 10.6 sürümü ve sonraki Xcode ve Instruments sürümleriyle bu süreç çok daha kolay hale gelecek. Sadece söylüyorum'. =)
Ürün> Profil Aletler açılır. Panelden zombileri seçin ve fındıklara gidin.
İOS'ta bellek çökmelerini bulmak ve düzeltmek için Instruments ve NSZombie'nin nasıl kullanılacağı hakkında bir video ve açıklama: http://www.markj.net/iphone-memory-debug-nszombie/
Xcode 3.2.5 ve Snow Leopard (Mac OS X 10.6) itibaren, Zombiler enstrüman aracılığıyla kodu çalıştırabilirsiniz: Run > Run with Performance Tool > Zombies
. Bu, belirli nesneleri ve bunların zaman çizelgesindeki sayılarını görmenizi sağlar.
Zombie günlüğünü etkinleştirmek için Xcode projenizin yürütülebilir dosyalar grubundaki yürütülebilir dosyayı çift tıklatın. Bu noktada Bağımsız Değişkenler sekmesini tıklatın ve Variables to be set in the environment:
bölümde, adlı bir değişken yapın NSZombieEnabled
ve değerini olarak ayarlayın YES
.
Yürütülebilir dosyanızın tercihlerine ortam değişkenini ekleyin NSZombieEnabled
ve değeri olarak ayarlayın YES
.
XCODE'da (4.3) oynat düğmesinin yanında :) (koş)
select: şemayı düzenle
şema yönetimi penceresi açılacaktır
Bağımsız Değişkenler sekmesini tıklayın
şunları görmelisiniz: 1- Lansmanda aktarılan argümanlar 2- ortam değişkenleri
(2- ortam değişkenleri) yeri içinde İsim: NSZombieEnabled
Değer: YES
Ve bitti ....
NSZombieEnabled, BAD_ACCESS hata ayıklaması için kullanılır,
XZZ'nin şemalar sayfasından NSZombiesEnabled ortam değişkenini etkinleştirin.
Click on Product⇒Edit Scheme to open the sheet and set the Enable Zombie Objects check box
Bu video ne demeye çalıştığımı görmene yardımcı olacak.