2013-10-15 20 views
8

iOS 7 için geliştirilmiş bir projem var ve şu ana kadar gayet iyi çalıştı, ancak Git birleştirme sonrasında bazı ayarlar bozuldu ve istisnaları artık konsoluna gönderilmez. Yani "yakalanmamış istisna nedeniyle sonlandırma uygulaması" hata iletisi konsolda asla görüntülenmez. Projeyi hem cihaz hem de simülatörde denedim, aynı şey. Bunun nedenini ve nasıl düzeltileceğini bulamıyorum ve umarım yardımlarınız için rica ediyorum.Xcode 5 yazdırma istisnası detayı yok

  • ayıklayıcı çalışan ve çalıştıran,
  • ayıklayıcı durur ve olayları doğru çizgi, tüm istisnalar aktif çalışma noktasının
  • ,
  • NSLog komutları çalışıyoruz
  • :

    gerçekler Lldb'de

  • po komutu çalışıyor.

Yardım isteğinde bulunmadan önce neyi denedim?

  • Temizleme Cihaz yeniden başlatılıyor
  • yeniden başlatma Xcode,
  • yeniden başlatma OS X
  • bağlanıyor cihaz
  • , (klasör oluşturmak da dahil) ve projeyi yeniden.

Başka neler yapabilirim? Yardımın için teşekkürler!

+0

Ne değiştirildiğini öğrenmek için git işlemlerini farklılaştırmayı denediniz mi? – neilco

+1

Hata ayıklayıcı durduktan sonra devam düğmesine basar mısınız?Benim deneyimimde, hata ayıklayıcı bir özel durum kesme noktasında durduktan sonra iki kez devam düğmesine basana kadar ayrıntıları yazdırılmaz. – borrrden

+0

İşlemi kontrol ettim, proje dosyalarında hiçbir şey değişmedi. Sadece kaynak kod dosyaları. @borrrden, tabii ki bunu denedim. Bir şey değişmez, hata ayıklama durdurulduğunda bile, istisnalarla ilgili olarak konsola hiçbir şey gönderilmez. – Legoless

cevap

5

Otomatik geçiş engellemesinde hata ayıklamaya çalışırken bu soruna rastladım.

Investigating NSExceptions with LLDB etrafında denemek için istisna kesme noktaları ile karmaşa götürdü Yani:

Bazı avcılık yaptım ve bu bağlantı rastladım: emin değil bu burada her durumda uygulanır, ancak eğer benim çözüm sorunun ne olduğunu anlamaya. Benim durumumda, $eax açıklamasını her zaman bulabilirdim, bu yüzden kesme noktasına bir eylem eklemeye karar verdim, bu yüzden her seferinde hata ayıklamak zorunda kalmam. Bu, her zaman bir kesme noktası olmadan $eax yazdırmaya neden oldu, bu yüzden istediğim gibi davranıyor (istisna açıklamasını yazdır, çökmeye devam et).

Adımlar: should

Add an Exception Breakpoint

Edit the breakpoint you just added

Add an action to <code>po $eax</code>, and check "automatically continue after evaluating"

Şu anda başlamıştı sorunu çözüldü ve bu çözüm (po $ebx, po [NSThread callStackSymbols], vb) emin varyasyonları değilim Eksik istisna açıklamaları ile çoğu sorunu gidermek.

+0

Burada da yardımcı olacak zor bir nokta ekleyeceğim. tıklayıp ardından "Breakpoint to Move" ve sonra "User" kısmına gidin. Kullanıcıya özel olacak. –