Saya memiliki aplikasi yang mogok tanpa penelusuran kesalahan. Saya dapat melihat bagian dari apa yang terjadi jika saya men-debug, tetapi tidak dapat menemukan objek mana yang "zombie-ing".
Adakah yang tahu cara mengaktifkan NSZombie di Xcode 4?
Variabel lingkungan sekarang menjadi bagian dari "skema".
Untuk mengedit skema dan menghidupkan zombie:
Di menu "Produk", pilih "Edit Skema".
Buka tahap "Jalankan Foo.app" di panel kiri, dan tab "Argumen" di sebelah kanan.
Tambahkan NSZombieEnabled
ke bagian "Variabel Lingkungan" dan atur nilainya menjadi YES
, seperti yang Anda bisa dalam Xcode 3.
Di Xcode 4.1 dan di atasnya , ada juga kotak centang pada tab "Diagnostics" dari "Run" untuk "Enable Zombie Objects".
Dengan Xcode 6.4:
Saya mengalami masalah yang sama dengan pemecahan masalah EXC_BAD_ACCESS dan mengalami kesulitan untuk menemukan pengaturan dengan Xcode 4.2 (yang terbaru yang datang dengan iOS5 SDK). Apple terus bergerak dan pengaturan tidak lagi seperti dulu.
Untungnya, saya sudah menemukannya dan berfungsi untuk perangkat, bukan hanya Simulator. Anda perlu membuka menu Produk di Xcode, pilih skema Edit dan kemudian pilih tab Diagnostics. Di sana Anda memiliki "Aktifkan Objek Zombie". Setelah dipilih dan dijalankan di debugger akan mengarahkan Anda ke objek yang dirilis ganda! Nikmati!
Pendeknya
sumber
Produk> Profil akan meluncurkan Instrumen dan kemudian Anda akan ada "Jejak Template" bernama "Zombies". Namun templat jejak ini hanya tersedia jika tujuan pembangunan saat ini adalah simulator - itu tidak akan tersedia jika Anda menetapkan tujuan ke perangkat iOS Anda.
Juga hal lain yang perlu diperhatikan adalah bahwa tidak ada instrumen Zombies yang sebenarnya di perpustakaan instrumen. Template jejak zombie sebenarnya terdiri dari instrumen Alokasi dengan set konfigurasi peluncuran "Aktifkan NSZombie".
sumber
Ini masalah sederhana mengatur variabel lingkungan pada executable Anda
(NSZombieEnabled = YES)
, dan kemudian menjalankan / debug aplikasi Anda seperti biasa. Jika Anda mengirim pesan zombie, aplikasi Anda akan crash / break ke debugger danNSLog
pesan untuk Anda.Untuk informasi lebih lanjut, lihat halaman CocoaDev ini: http://www.cocoadev.com/index.pl?NSZombieEnabled
Selain itu, proses ini akan menjadi jauh lebih mudah dengan rilis 10.6 dan versi Xcode dan Instrumen berikutnya. Hanya mengatakan '. =)
sumber
Produk> Profil akan memunculkan Instrumen. Pilih zombie dari panel dan menjadi gila.
sumber
Pergi ke Produk - Skema - skema edit - Argumen - Variabel Lingkungan ditetapkan NSZombieEnabled = YA
sumber
Dalam xcode 4.2
Goto, Produk -> skema edit -> klik Jalankan yourappname.app -> Diagonostics -> Aktifkan objek Zombie.
sumber
Berikut ini adalah video dan penjelasan cara menggunakan Instrumen dan NSZombie untuk menemukan dan memperbaiki kerusakan memori di iOS: http://www.markj.net/iphone-memory-debug-nszombie/
sumber
Pada Xcode 3.2.5 dan Snow Leopard (Mac OS X 10.6), Anda dapat menjalankan kode Anda melalui instrumen Zombies:
Run > Run with Performance Tool > Zombies
. Itu memungkinkan Anda untuk melihat objek tertentu dan jumlah yang dipertahankannya pada timeline.sumber
Dalam Xcode 4.5.2 goto Product -> Edit Scheme -> dan Di bawah tab Diagnostics centang kotak centang di antara Objective C dan Enable Zombie Objects dan Klik OK
sumber
Untuk mengaktifkan Zombie logging, klik dua kali yang dapat dieksekusi di grup yang dapat dieksekusi dari proyek Xcode Anda. Pada titik ini klik tab Argumen dan di
Variables to be set in the environment:
bagian, buat variabel dipanggilNSZombieEnabled
dan setel nilainyaYES
.sumber
Di XCode 4.0: Untuk mendeteksi NSZombie di Instrumen, pilih Simulator sebagai target Anda (tidak dapat mendeteksi NSZomboe di perangkat). Jalankan Instrumen (CMD + I) dan pilih templat jejak "Zombies". Nikmati.
sumber
Dalam preferensi yang dapat dieksekusi Anda tambahkan variabel lingkungan
NSZombieEnabled
dan atur nilainyaYES
.sumber
di XCODE Anda (4.3) di sebelah tombol play :) (run)
pilih: edit skema
jendela manajemen skema akan terbuka
klik pada tab Argumen
Anda akan melihat: 1- Argumen yang diterima pada peluncuran 2- variabel lingkungan
di dalam tempat (2- variabel lingkungan) Nama: NSZombieEnabled
Nilai: YES
Dan itu selesai ....
sumber
NSZombieEnabled digunakan untuk Debugging BAD_ACCESS,
aktifkan variabel lingkungan NSZombiesEnabled dari lembar skema Xcode.
Click on Product⇒Edit Scheme to open the sheet and set the Enable Zombie Objects check box
video ini akan membantu Anda melihat apa yang ingin saya katakan.
sumber