İOS simulyatorunda səhv testi: Bootstrap server ilə qeydiyyatdan keçilməmiş

UIAlertView düyməsini tıkladığımda qəzaya uğrayıb simulatorda tətbiqimi test etdim. Orada düzəldilməməyi dayandırdım, kodda bəzi dəyişikliklər etdilər və tətbiqini yenidən yaratdım. İndi proqramı çalıştırdığımda, bu səhvəni konsolda alıram

Boot server istifadə edərək com.myApp.debug qeydiyyatdan keçməmişdi. Hata: naməlum səhv kodu. Bu, ümumiyyətlə, bu prosesin başqa bir nüsxəsi artıq işlədiliyinə və ya hata ayıklayıcıya aid olduğunu göstərir. Alınan proqram siqnal: "SIGABRT".

Tətbiqi simulyatordan təmiz qurmaqla aradan qaldırmaq üçün çalışdım, ancaq proqramı çalıştırdığımda bu səhvəni hələ də alıram.

Proqramı simulatorda yenidən çalıştırmam üçün nə etməliyəm?

361
25 апр. ləğv edildi 2009-04-25 08:15 '09 saat 08:15 'da 2009-04-25 08:15
ответ 31 cavab
  • 1
  • 2

Simulyatordan çıxmağa və yenidən başlamağa çalışın? Əgər "pis pisləşirsə", hər zaman yenidən başlamağa çalışa bilərsiniz: mənim təcrübəmdə, bu sabit olmalıdır.

162
25 апр. Elliot Kroo apr 25-ə göndərdi 2009-04-25 08:21 '09 saat 08:21 'da 2009-04-25 08:21

statusu: Mac OS 10.8 və Xcode 4.4 kimi olduqca yaxın zamanda fərqlənirdi.

tl; dr: Bu iki kontekstdə baş verə bilər: bir cihazda işə salındıqda və bir simulyatorda işə salındıqda. Cihazda işləyərkən cihazı söndürmək və yenidən qurmaq vəziyyəti düzəldir.

Mike Ash təklif etdi

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

Hər zaman işləmir. Əslində, o heç vaxt mənim üçün çalışmadı, amma müəyyən hallarda işləyir. Hansı hallarda yalnız bilmirəm. Buna görə də bir cəhddir.

Əks halda, bunu düzəldə bilən yalnız bilinən yol, istifadəçi lansmanını yenidən başladır. Bir reboot bunu edəcək, lakin daha az sərt / sürətli bir yol var. Başqa bir administrator istifadəçi yaratmalısınız, ancaq bir dəfə bunu etmək lazımdır. Hər şey sıxıldığında, özünüz kimi çıxış edin, bu istifadəçi olaraq daxil olun və əsas istifadəçinizə aid olan başlanğıc versiyasını öldürün, məsələn,

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

əsas istifadəçi adınız user_id əvəz. Normal istifadəçi sizi normal vəziyyətə qaytararkən yenidən daxil olun. Ağrılı, ancaq tamamilə yenidən başladın.

border=0

detallar:

Lion / Xcode 4.2 ilə daha tez-tez başlamışdır. (Şəxsən mən onu bir yerdə görməmişəm).

Hata ayıklayıcısı onu öldürmədən ayıklamayı dayandırdıqda, proqram prosesini bir uşaq kimi devralmış olan startd, görünür. Bu, ümumiyyətlə, ərizənin z psiqi prosessual statusuna malik bir zombi olmağına bağlıdır.

Əsas problem startst ildə həyata keçirilir bootstrap adı server, görünür. Bu (bunu anladım) mach portları üçün tətbiq kimliklərini göstərir. Səhv başlandıqda, ərizə qalıb, lakin bootstrap server adının server kartından silinməyib və nəticədə, önyükleme serverinin server eyni tətbiq ilə tətbiqin bir nüsxəsini qeydiyyata almaqdan imtina edir.

Zombi üçün şeyləri düzəldə biləcəyini wait() məcbur edən (bax) şərhlər ümid edilmişdir, amma bu doğru deyil. Bu əsas problem olan bir zombi statusu deyil (buna görə də bəzi zombilər yaxşıdır), ancaq bir boot adı server və başlanğıc öldürmədən təmizləmək üçün bilinməyən bir yol yoxdur.

Xcode, gdb və startd istifadəçi arasında səhv bir şeyin səbəb olduğu görünür. Mən sadəcə iphone simulyatorunda proqramı işləyərək, gdb-də dayandıraraq, ipad simulyatorunu qurmaq və işləyib hazırlayıram. O simulyatorlar (iOS 4.3 / iOS 5, iPad / iPhone) keçid üçün həssas görünür. Həmişə deyil, çox vaxt, simulyatorlar çox keçəndə.

Başlanğıcda oturma zamanı öldürmə oturumunuzu gecikdirəcəkdir. Daxil olma və daxil olmaq, başlanğıc istifadəçisi öldürməyin; OS X mövcud prosesi dəstəkləyir. Yenidən başladın şeyləri düzəldəcək, ancaq acıyor. Yuxarıda göstərilən təlimatlar daha sürətli.

Mən səhvini Apple FWIW-yə təqdim etdim. rdar: // 10330930

242
22 окт. cavab 22 oktyabrda verilir 2011-10-22 19:14 '11 'da 19:14' da 2011-10-22 19:14

Mən Lion + Xcode 4.2 ilə problemim olduğuna inanıram. Mən də Xcode 4.3-də bir problemə düşdüm.

Bütün təklifləri sınadım, amma heç biri tam yenidən başladın istisna olmaqla çalışmadı.

Tezliklə yenidən başlamanıza ehtiyacınız olub-olmadığını necə müəyyənləşdirir.

Bütün Zombie proseslərinin siyahısı:

 ps -el | grep 'Z' 

Ərizənizin Zombie prosesi kimi göstərildiyini görsəniz, kompüterinizi yenidən başladın. Hata mesajında ​​belə deyilir: "Bu, adətən, bu prosesin başqa bir nüsxəsi artıq işlədiliyinin və ya ayıklama cihazında olmasıdır." Xcode, öldürə bilməyəcəyiniz bu Zombie prosesini algılar. Bunu düzəldə bilən yeganə üsul sistemi yenidən qurmaqdır: (

EDIT, 20120823: Zombie prosesləri haqqında bəzi məlumatlarım var, buna görə də bu cavabı yeniləməyi istəmişdim. Ana prosesin sona çatan uşaq prosesində wait () (dövlət dəyişikliyi prosesini gözləyir) deyilmədiyi bir Zombie prosesi yaradılır. Zombie prosesində birbaşa öldürə bilməzsiniz, ancaq ana prosesi öldürürsəniz, zombi uşaq prosesi "təmizlənir" və proses masasından çıxarılacaq.

Mən bu problemi uzun müddət görməmişəm, ona görə də valideyn prosesinin bu ssenaridə nə olduğunu yoxlaymamışam. Ana prosesi qətlə yetirmək üçün bir alternativ sistemin yenidən açılmasıdır :)

70
12 нояб. Cavab 12 noyabr Cümə günü verilir 2011-11-12 15:19 '11 at 15:19 2011-11-12 15:19

Mən yalnız mənim başıma gəldi: Mənim cihazımda yalnız bir səhv var idi və simulator yaxşı işləyirdi. Cihazımla sıfırlama ilə işləməyə başladım və səhvlər yox oldu.

20
21 июля '10 в 3:46 2010-07-21 03:46 Cavab verilir: n3wscott 21 iyul '13 saat 03:46 'da 2010-07-21 03:46

Son zamanlarda bu problemi çox vaxt keçirirəm. Bunun baş verməsinə nə mane olur? Problemi həll etmək və həll etmək, lakin ... hər dəfə bunu etməkdən asılıdır.

EDIT:

Yalnız səbəbi tapdım. ApplicationWillTerminate metodunda bir səhvim var idi. Buna görə də, Xcode penceresindeki durdurma düyməsini basıldığında, tətbiq normal olaraq çıxa bilməz və asılmağa başlamaz.

Proqramınızın siyahıda yer aldığını yoxlamaq üçün Fəaliyyət Monitorini yoxlayın. mümkün olduqda qüvvədən çıxın.

15
07 авг. Cavab verilir 07 avqust. 2009-08-07 21:30 '09 at 21:30 'da 2009-08-07 21:30

Əgər problemin zombi proseslərindən qaynaqlandığını görürsənsə:

  ps -əl |  grep 'Z' 
(əvvəlki on123.ru.site/questions/18212 / ... şərhində olduğu kimi) və yalnız problemi dərhal həll etmək istəyiriksə, bunu yenidən başlamadan və ya bir şey öldürmədən edə bilərsiniz. Yalnız olaraq yürütülebilir proje hedefinizi yeniden adlandırın:
  • Sol bölmədən olan layihəni basın.
  • Orta bölmədən Ayarlar qurun seçin.
  • < $ (TARGET_NAME) ' dan $ (TARGET_NAME)' a qədər " Məhsulun adı " dəyişdirin .1

Easy!

14
21 марта '12 в 3:42 2012-03-21 03:42 Cavab JRG tərəfindən 21 Mart '12 'də 3:42 2012-03-21 03:42' də verilir

Bəli, heç bir cavab yox, ən azı bir test. Bir terminal açın və bu əmri çalıştırın: "ps-Ael | grep Z". İki yazı alırsanız, bir "(çınqıl)" və digər tətbiqiniz və ya şirkətinizin adını alsanız, yenidən başladın.

Bir geliştiriciyseniz, qısa bir səhv yazın və Apple-a yenidən başlamağın tamamilə zəhmət olmasının necə olduğunu və bu səhvəni yalnız daxil olduğum "rdar: // 10401934" ə s.

David

7
05 нояб. Davud tərəfindən verilmiş cavab 2011-11-05 17:45 '11 saat 17:45 'də 2011-11-05 17:45

IOS Simulatorunun sıfırlanması mənim üçün bir səhv qoydu. Simulatorda olan bütün tətbiqləri aradan qaldıra bilsə də, kompüteri yenidən başlatmadan problemi giderir.

Bu addımları ataraq iOS simulyatorunuzu yenidən qura bilərsiniz:

1) Əsas ekranın sol köşesindeki Apple logosunun () yanında "iOS Simulator" menyusuna gedin.
2) "İçeriği və Ayarları sıfırla ..." seçin.
3) Mesajın popunu oxuyun və razı olsanız, "Reset" düyməsini basın və ya "Reset etməyin" düyməsini basın.

5
13 апр. cavab verildi dom 13 aprel 2011-04-13 23:31 '11 at 11:31 pm 2011-04-13 23:31

Zombi prosesləri ilə əlaqədar olaraq @jyap problemim var. Onları təmizləmək üçün yalnız bir yol yenidən başladır. Ancaq eyni proyektdə çalışan dostlarım eyni problemi alacaqlarını anladım amma simulatoru zombi prosesi yaratmadan öldürə bilər. Mən tamamilə Xcode silindi və onu yenidən bərpa və mən hələ səhv almaq, o, zombi prosesləri yaratmaq deyil, mən reboot ehtiyac yoxdur.

Bunu etməzdən əvvəl, mən bu çox çirkin həll prosesini istifadə etdim: tətbiq kimliyinizi dəyişdirin və yenidən işə salın. Nəhayət, simulyatorda tətbiqin lazımsız nüsxələrini alırsınız, ancaq yenidən başladın müvəqqəti olaraq aradan qaldırıla bilərsiniz.

4
10 нояб. Christopher Pickslay tərəfindən verilmiş cavab 10 Noyabr. 2011-11-10 03:39 '11 at 3:39 2011-11-10 03:39

Mənim iPhone 4-də tətbiqini düzəldərkən bu səhv aldım. İPhone-u çətin yenidən başladın mənim problemi həll. (IPhone bağlantısı dayandırılıb ...)

Mac'imdə heç bir zombi prosesi yox idi və mac yenidən açma problemi həll etmədi.

Bəlkə də bu səhv simulyatorda və real cihazlarda da baş verə bilər.

4
12 марта '12 в 5:24 2012-03-12 05:24 cavab 12 mart 2012-ci il tarixində saat 05: 24-də verilir. 2012-03-12 05:24

Bu iPhone üzərində test edərkən olarsa. Yalnız telefonu yenidən başladın. Telefondan və ya simulyatordan hələ də tətbiqin bir nüsxəsi olduğuna inanıram, buna görə də sonuncu dəfə kodunuzda səhv etmək və ya telefon / simulatorun yalnız iniliş etmək istəmədiyi üçün düzgün dayandırmadı.

4
28 февр. Cavab Popeye 28 fevralda verilir. 2012-02-28 11:43 '12 at 11:43 2012-02-28 11:43

Bu səhv mənim üçün bir çox şeydir, demək olar ki, hər dəfə simulyatorda tətbiqini sınamaq, məni yenidən başlamağa məcbur edir.

İşdə xüsusi bir iş etmək istəsəniz, bir həll yoludur:

  • Layihə naviqatorunda bir layihə seçin
  • Hədəfİnformasiya Go
  • Əlavə etmək üçün ərizə əlavə et fonda işləmir və YES təyin olunur.

Bu simulatorda ev düyməsini basarkən və ya simulyatordan çıxdığınız zaman tətbiq dondurulmayacaq.

Paylamadan əvvəl bu ayarı dəyişdirməyi unutmayın! Buraxılış siyahınıza qoyun :)

4
10 янв. Chris Burt-Brown tərəfindən verilmiş cavab 10 Jan 2012-01-10 14:16 '12 at 2:16 PM 2012-01-10 14:16

Cihazı yenidən başladın, iş !: D

Bütün böyük təklifləriniz üçün təşəkkür edirik.

4
27 окт. Haris Hussain tərəfindən verilmiş cavab 27 oktyabr 2012-10-27 22:13 '12 at 10:13 PM 2012-10-27 22:13

Yığımdan partladığı və iPod'u yükləməyim lazım olduğu şəkildə mənim proqramımı öldürdüyü bir recursive setter var idi. Bu kodda bir düzeltme ilə sübut edilmişdir.

3
20 авг. Cavab verilir mobibob 20 av . 2011-08-20 01:43 '11 at 1:43 2011-08-20 01:43

Səbəb

Tətbiqə simulyatorda əvvəllər başlamış ərizə əvvəl tamamilə dayandırılmışdır.

Fix

Yenidən başlamadan əvvəl "Stop" düyməsinin yenidən aktivləşdirildiyini görməyin.

(OS X Lion'a yükseltildiğimde bu problem çox tez-tez baş verdi) Xcode 4.2.1.

3
03 февр. cavab verilmiş bonus 03 fevral. 2012-02-03 23:02 '12 at 23:02 2012-02-03 23:02

Eyni problemim var idi və aşağıdakıları həll edərək həll edildi

  • Cihazdan tətbiq çıxarın
  • Cihazı Mac-dən ayırın,
  • Cihazı söndürmək və yenidən açmaq,
  • Xcode'dan çıxın və yenidən başladın,
  • Çıxış alətləri
  • Nəhayət, təmiz və yenidən yaradın.

Xcode iOS 5.0 istifadə etmək üçün konfiqurasiya edilmişdi və mənim layihəmiz iOS 4.3 istifadə edirdi

  • Bütün çərçivələri çıxarın və yenidən əlavə edin.
3
17 окт. Joey 17 oktyabrda göndərdi 2011-10-17 15:06 '11 at 15:06 2011-10-17 15:06

Alternativ həlli:

  • Ərizənizə yeni bir id verin. Com.foobar.myapp adlanırsa, com.foobar.myapp01 adını verin

Proqramın bütün məlumatlarını itirirsiniz, çünki bu, həqiqətən, iPhone simulyatoru ilə işləyən yeni bir proqramdır. Bu yenidən başladından daha sıxıcı ola bilər və ya ola bilməz - sadəcə siyahıya əlavə etmək istədi.

3
07 февр. cavab n13 07 fevral. 2012-02-07 18:08 '12 at 18:08 2012-02-07 18:08

Mən yalnız bu səhvi aldım. Simulatoru və Xcode'u yenidən başlamağa çalışdım, ancaq layihəmiz yalnız təmizləmə və binadan sonra işləyəcək. Bunun səbəbini bilmirəm.

3
17 дек. Cavab 17 dekabrda Daniel Wood tərəfindən verilir. 2010-12-17 18:57 '10 at 18:57 2010-12-17 18:57
  • Simulyatoru bağlayın
  • Proqramı xCode-da dayandırın.
  • Açıq Aktiv İzləməNAME tətbiqindən istifadə edərək prosesi tapın.
  • Bu prosesi aktiv monitorunda öldürün
  • Layihənizi yenidən qurun və hər şeyin qurulması lazımdır
3
29 нояб. cavab noyabr ayının 29-da verildi 2011-11-29 20:57 '11 at 20:57 2011-11-29 20:57

Mike Ash bir həll göndərdi (Allah ona salam!) Bu yenidən başlamağa ehtiyac yoxdur. Yalnız çalışın:

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

Yuxarıda göstərilən bütün vəzifələr, UIKitApplication adlı adda (tətbiqinizə uyğun olan, yanlış təqib olunacaq) axtarışların siyahısını verir, adını alır və bu işdən xilas olmaq üçün startd deyir.

2
08 мая '12 в 0:19 2012-05-08 00:19 Cavab Jano tərəfindən 08 may 2012-ci ildə 0:19 2012-05-08 00:19

Hesab edirəm ki, Xcode-da stop düyməsinə basmadan əvvəl tətbiqinizin iPhone üzərindən məcburi çıxması səbəb olur. Bəzən Xcode'daki stop düyməsinə basarkən, dondurulduğu halda proqramdan çıxmaq üçün əlavə vaxt tələb olunur. Ancaq səbirli olun, əksər hallarda bu sona çatacaq.

2
10 июня '12 в 4:35 2012-06-10 04:35 Cavab CommaToast 10 iyun 'da 4:35' də verildi. 2012-06-10 04:35

Problemim üçün yenidən sırala və ya yenidən qurmağına ehtiyac yoxdur və mənim vəziyyətimdə iPhone tətbiqini tətbiq etməyə çalışırken bir səhv var idi. Simulator yaxşı işləmişdir.

Həll: ərizə telefondan çıxarın, telefonun soyuq bir şəkildə yenidən başladın və indi hər şey yaxşıdır.

2
16 янв. Cavab 16 yanvar tarixində verilir 2012-01-16 05:05 '12 'də 5:05' də 2012-01-16 05:05

Mənə Xcode 4.2.1-dən Lion'a bir çox şey oldu. 4.3.2-ə yeniləndi və bu artıq baş vermir. Onu düzəldirdilər.

2
03 мая '12 в 2:02 2012-05-03 02:02 cavab 03 may '12 saat 02:02 'də tbag verilir 2012-05-03 02:02

Proqramı qaldırdıqdan sonra telefonumu yenidən bərpa etdim, sonra yenidən bərpa etdim və yenidən başladım. İndi yaxşı işləyir.

Qəribədir.

2
06 июля '11 в 12:03 2011-07-06 12:03 CommaToast cavab 06 iyul 'da 12:03' də verildi 2011-07-06 12:03

Bir funksiyada və ya sekmede bir dəyişən təyin edə bilərsiniz. Xüsusiyyətiniz və ya nişanınız durduqda sönəcək. Buna görə, üzv dəyişən və ya qlobal dəyişən elan etməlisiniz.

1
07 сент. Cavab bTagTiger 07 sep verilir . 2011-09-07 05:27 '11 at 5:27 2011-09-07 05:27

Çalıştır etmə qutusundakı "Dur" düyməsinə əməl etməyəcəyəm qədər bu səhvəni hər zaman aldım. İndi mən həmişə dayandırmaq çubuğunda dayandırmaq zaman, başlamaq üçün cəhd əvvəl, mən hələ də hər hansı bir zombi prosesləri ilə üzləşmək lazımdır.

1
29 янв. cənab Angela tərəfindən cavab jan. 2012-01-29 09:49 '12 at 9:49 2012-01-29 09:49

Mənim vəziyyətimdə bir dəfə belə bir problemlə qarşılaşdım

  • Proqramı simulyatordan çıxarın.
  • Törədilmiş məlumatlarla qovluğu silin.
  • Məhsul menyusunu seçməklə təmizləməyi təmizləyin - təmizləyin
  • Simulatoru yenidən qurun.
  • Xcode'u bağlayın.
  • Layihəni yaxşı çalışarsa, 7 addıma keçin
  • 1-dən 5-ə qədər olan bütün addımları təkrarlayın və kompüterinizi yenidən başladın.

Çox hallarda, mən bunu 6-cı addımın həddindən artıq mərhələlərində qaçdığımda, mənim avtomobilim yenidən başlamalı idi.

0
21 февр. Cavab verilir İstifadəçi2538944 21 fevral. 2014-02-21 14:53 '14 'da 14:53 2014-02-21 14:53

Ən pis vəziyyətdə, iOS Simulater- in məzmununu və parametrlərini yenidən qurdum və xcode-i simulyatorla tərk edən zamanımın əksəriyyəti, həmişə mənim üçün XCode4.6 ilə işləyir (bu tez-tez asılır)

0
22 февр. Cavab 22 fevralda rptwsthi tərəfindən verilir . 2013-02-22 17:55 '13 'da 17:55' də 2013-02-22 17:55

Komanda xəttindən testlərdən istifadə etsəniz ( xcodebuild test istifadə edərək) işləyən simulyatorun testləri xcodebuild test uyğun olduğundan əmin olun.

İPhone 5-dən istifadə edən komanda testlərindən istifadə edə bilərsiniz. Xcode reklamında iPhone 6-dan istifadə etsəniz, komanda xətti testlərini yerinə yetirirsiniz, bəzən iPhone 6 işləyəcək və əl ilə iPhone 5 cihazını seçməlisiniz və sonra testləri yenidən başlamalısınız.

0
21 февр. Cavab 21 fevralda Rose Perron tərəfindən verildi . 2015-02-21 18:14 '15 'da 18:14' da, 2015-02-21 18:14

Bu səhv, iOS Simulatorun köhnə versiyalarında baş verdi, çünki başqa bir siqnalda olan cihazdakı vəzifənin köhnə nümunələri yeni bir nişanla qarşılaşa bilər.

iOS 6.0 və sonrakı versiyalarında belə bir problem olmur, çünki iOS 6.0 bootstrap bir alt kümesini təqdim edir və iOS 7.0, önyükleme serverından tamamilə təcrid olunan xüsusi bir önyükleme serverinin (launchd_sim) istifadəsini təqdim edir.

0
29 дек. Jeremy Huddleston Sequoia tərəfindən verilmiş cavab 29 Dekabr. 2014-12-29 05:35 '15 də 5:35 AM 2014-12-29 05:35
  • 1
  • 2

etiketləri ilə bağlı digər suallar və ya bir sual