Tuesday 2 August 2011

EXC_BAD_ACCESS

iPhone geliştirmesi yapmanın olmazsa olmazı EXC_BAD_ACCESS hatası ile ilgili basit bir debug metodunu yazayım istedim.

EXC_BAD_ACCESS hatasının birkaç nedeni olsa da genelde release edilmiş bir objeyi manipüle etmeye çalışınca bu hatayla karşılaşıyoruz. Debugger konsolda EXC_BAD_ACCESS yazısının ötesinde, hatanın nedenine uygun olarak hatanın verildiği class'ı görebilmek için kullanabileceğimiz bir parametre var.

NSZombieEnabled

Efendim bu parametre neyi sağlar? Release edilen her bir objenin yerine bir dummy obje yani zombi bırakır.

XCode'da Executables altındaki app dosyamızın "Get Info"sunu açarak "Arguments" tab'ına geçiyoruz. Buradaki ekranın alt kısmındaki Variables alanına "+" işaretiyle yeni bir parametre ekliyoruz.

Name: NSZombieEnabled Value: YES

En baştaki checkbox'u da işaretlemeyi unutmuyoruz.

Bu aşamadan sonra build and debug yapıp sonucu debugger konsoldan takip edebiliriz.

No comments: