SORU
25 NİSAN 2009, CUMARTESİ


iPhone - garip simülatörü üzerinde test ederken hata

Bir UİAlertView bir düğmesi kaza yaptığında simülatörü uygulamamı test ediyordum. Orada hata ayıklama bıraktım, kod üzerinde bazı değişiklikler yaptı ve uygulamayı tekrar inşa edilmiş. Şimdi uygulamayı çalıştırdığınızda, bu hata konsolu almak

Kayıt com olamazdı.uygulamam.bootstrap sunucu ile hata ayıklama. Hata: bilinmeyen hata kodu. Bu genellikle bu işlem başka bir örneği zaten veya hata hung çalışıyor olduğu anlamına gelir.Program sinyal aldı:“”. SİGABRT

Simülatör uygulamasını kaldırarak, temiz bir yapı yapmaya çalıştım ama yine de uygulamayı çalıştırmaya çalıştığımda bu hata.

Ben simülatörü üzerinde uygulama çalıştırmak mümkün tekrar olması için ne yapmalıyım?

CEVAP
22 EKİM 2011, CUMARTESİ


durum:bu kadar yakın zamanda Mac OS 10.8 olarak görülen ve 4.4 Güncellemelerinden olmuştur.

tl;dr:Cihaz üzerinde çalışan ve simülatör üzerinde çalışıyor. bu iki durum oluşabilir: Cihaz çalışırken, cihazı sökmek bağlanıyor şeyler düzeltmek gibi görünüyor.

Mike Ash suggested

launchctl list|grep UIKitApplication|awk '{print $3}'|xargs launchctl remove

Bu her zaman işe yaramıyor. Aslında, hiçbir zaman benim için çalıştı, ama açıkça, bazı durumlarda çalışır. Sadece hangi durumda olduğunu bilmiyorum. Denemeye değer.

Aksi takdirde, bilinen tek bunu düzeltmenin bir yolunu kullanıcı launchd yeniden başlatın. Yeniden yapar ama daha az katı/daha hızlı bir yolu yoktur. Başka bir yönetici kullanıcı oluşturmanız gerekir, ama sadece bir kez yapmak zorunda. Şey, kendin gibi kama günlük, bir kullanıcı olarak oturum açın ve ana kullanıcıya ait launchd öldürmek zaman, örneğin,

sudo kill -9 `ps aux | egrep 'user_id .*[0-9] /sbin/launchd' | awk '{print $2}'`

user_id ana kullanıcı adınızı değiştirme. Yine normal kullanıcı olarak giriş aklı başında bir hal alır. Biraz acı, ama tam bir yeniden başlatma daha az.

ayrıntılar:

Bu 4.2 Güncellemelerinden daha sık Aslan/olay ile başladı. (Şahsen ben asla bu kombinasyonu daha önce gördüm.)

Hata ayıklayıcı onu öldürmeden hata ayıklama durduğunda bir çocuk olarak uygulama süreci devralan launchd gibi görünüyor. Bu genellikle ps Z işlem statüsünde bulunan ölüm uygulaması ile kendini gösterebilir.

Temel sorun launchd uygulanan bootstrap adı sunucusu görünüyor. (Anladığım ölçüde) bu haritalar mach bağlantı noktaları kimlikleri uygulama. Ne zaman hata tetiklenir, app ölür ama değil temizlemiş bootstrap sunucu adı sunucusu göster ve sonuç olarak, bootstrap sunucu reddediyor izin başka bir örnek uygulamanın olması altında kayıtlı aynı isim.

Zombi için wait() launchd zorlama şeyler düzeltmek sanılmıştı (yorum) ama yok. Temel sorun, bazı zombiler zararsız neden olan) ama bootstrap adı sunucusu verecekleri durum değil ve bu öldürme launchd kısa temizlemek için bilinen bir yolu yok.

Hata böyle büyük mükafat, gdb arasında kötü bir şey tarafından tetiklenir gibi görünüyor, ve kullanıcı launchd. Ben sadece iphone simülatörü bir uygulama çalıştıran, gdb içinde durmuş olması, ve sonra oluşturmak ve ipad için çalıştırmak simülatörü yaparak kama tekrarladı. Simülatörleri (iOS 4.3/5, iPad/iPhone iOS) geçiş için hassas gibi görünüyor. Her zaman olmuyor ama bunu çok sık simülatörleri geçiyorum çok zaman.

Giriş yaparken launchd öldürme oturumu berbat olacak. Günlüğü ve günlüğü geri kullanıcı launchd öldürmez; OS X etrafında varolan işlemi devam ediyor. Yeniden bir şeyleri tamir edecek, ama bu çok acı verici. Yukarıdaki talimatları daha hızlı.

Apple, FWIW bir hata sundum. :/10330930/rdar

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Andrea Lewis

    Andrea Lewis

    14 Mart 2013
  • happyjpy

    happyjpy

    22 AĞUSTOS 2009
  • Jonathan Leack

    Jonathan Lea

    26 ŞUBAT 2007