Saya sedang menguji aplikasi saya di simulator ketika jatuh pada mengklik tombol UIAlertView. Saya berhenti debug di sana, membuat beberapa perubahan pada kode dan membangun aplikasi lagi. Sekarang ketika saya menjalankan aplikasi, saya mendapatkan kesalahan ini di konsol
Tidak dapat mendaftarkan com.myApp.debug dengan server bootstrap. Kesalahan: kode kesalahan tidak dikenal. Ini umumnya berarti bahwa instance lain dari proses ini sudah berjalan atau digantung di debugger. Program menerima sinyal: "SIGABRT".
Saya mencoba menghapus aplikasi dari simulator, melakukan build bersih tetapi saya masih mendapatkan kesalahan ini ketika saya mencoba menjalankan aplikasi.
Apa yang harus saya lakukan untuk dapat menjalankan aplikasi pada simulator saya lagi?
sumber
ps ax | grep SimulatorBridge
Jawaban:
Coba berhenti dan mulai ulang simulator? Jika "memperburuk menjadi terburuk" Anda selalu dapat mencoba memulai kembali: menurut pengalaman saya ini harus memperbaikinya.
sumber
status: ini telah terlihat sebagai Mac OS 10.8 dan Xcode 4.4.
tl; dr: Ini dapat terjadi dalam dua konteks: saat berjalan di perangkat dan saat berjalan di simulator. Saat berjalan pada perangkat, melepaskan dan menghubungkan kembali perangkat tampaknya memperbaiki keadaan.
Mike Ash menyarankan
Ini tidak berfungsi sepanjang waktu. Sebenarnya, itu tidak pernah berhasil untuk saya tetapi jelas bekerja dalam beberapa kasus. Hanya tidak tahu kasus mana. Jadi patut dicoba.
Jika tidak, satu-satunya cara yang diketahui untuk memperbaikinya adalah memulai kembali launchd pengguna. Reboot akan melakukannya tetapi ada cara yang kurang drastis / lebih cepat. Anda harus membuat pengguna admin lain, tetapi Anda hanya perlu melakukannya sekali. Ketika hal-hal mengganjal, keluarlah seperti dirimu sendiri, masuklah sebagai pengguna itu, dan bunuh launchd milik pengguna utama Anda, misalnya,
mengganti nama pengguna utama Anda dengan
user_id
. Masuk lagi karena pengguna normal Anda mengembalikan Anda ke keadaan waras. Agak menyakitkan, tetapi kurang dari reboot penuh.detail:
Ini sudah mulai terjadi lebih sering dengan Lion / Xcode 4.2. (Secara pribadi, saya tidak pernah melihatnya sebelum kombinasi itu.)
Bug tersebut tampaknya ada di launchd, yang mewarisi proses aplikasi sebagai anak ketika debugger berhenti men-debug-nya tanpa membunuhnya. Ini biasanya ditandai oleh aplikasi menjadi zombie, memiliki status proses Z dalam ps.
Masalah inti tampaknya berada di server nama bootstrap yang diterapkan di launchd. Ini (sejauh yang saya mengerti) memetakan id aplikasi ke port mach. Ketika bug dipicu, aplikasi mati tetapi tidak dibersihkan dari peta server nama server bootstrap dan sebagai hasilnya, server bootstrap menolak untuk mengizinkan instance aplikasi lain untuk didaftarkan dengan nama yang sama.
Diharapkan (lihat komentar) bahwa memaksa launchd
wait()
untuk zombie akan memperbaiki keadaan tetapi tidak. Ini bukan status zombie yang merupakan masalah inti (itulah sebabnya beberapa zombie tidak berbahaya) tetapi server nama bootstrap dan tidak ada cara yang dikenal untuk menghapus kekurangan membunuh launchd ini.Sepertinya bug dipicu oleh sesuatu yang buruk antara Xcode, gdb, dan launchd pengguna. Saya baru saja mengulangi wedge dengan menjalankan aplikasi di iphone simulator, setelah berhenti dalam gdb, dan kemudian melakukan build dan run ke ipad simulator. Tampaknya peka untuk beralih simulator (iOS 4.3 / iOS 5, iPad / iPhone). Itu tidak terjadi sepanjang waktu, tetapi cukup sering ketika saya banyak beralih simulator.
Membunuh launchd saat Anda masuk akan mengacaukan sesi Anda. Keluar dan masuk kembali tidak mematikan peluncuran pengguna; OS X menjaga proses yang ada. Reboot akan memperbaiki keadaan, tapi itu menyakitkan. Instruksi di atas lebih cepat.
Saya telah mengirimkan bug ke Apple, FWIW. rdar: // 10330930
sumber
Saya menemukan saya sudah mulai mengalami masalah ini dengan Lion + Xcode 4.2. Saya juga mengalami masalah di Xcode 4.3.
Saya telah mencoba semua saran tetapi tidak ada yang bekerja selain reboot penuh.
Ini adalah bagaimana Anda menentukan apakah Anda memerlukan reboot dengan cepat.
Daftar semua proses Zombie Anda:
Jika Anda melihat aplikasi Anda terdaftar sebagai proses Zombie, Anda perlu me-reboot mesin Anda. Pesan kesalahan menyatakan "Ini umumnya berarti bahwa instance lain dari proses ini sudah berjalan atau digantung di debugger". Nah, Xcode mendeteksi proses Zombie ini yang tidak bisa Anda bunuh. Satu-satunya cara Anda dapat memperbaikinya adalah dengan reboot sistem. :(
EDIT, 20120823: Saya memiliki pengetahuan yang lebih baik tentang proses Zombie jadi saya ingin memperbarui jawaban ini. Proses Zombie dibuat ketika proses induk tidak memanggil wait () (tunggu proses untuk mengubah status) pada proses anak terminating. Anda tidak dapat menjalankan 'bunuh' secara langsung pada proses Zombie tetapi jika Anda membunuh proses induk, proses anak zombie akan 'dituai' dan dihapus dari tabel proses.
Saya sudah lama tidak melihat masalah ini jadi belum memeriksa untuk melihat apa proses induk dalam skenario ini. Alternatif untuk membunuh proses induk adalah me-reboot sistem Anda. :)
sumber
Saya baru saja mengalami hal ini pada saya: Saya mendapatkan kesalahan hanya pada perangkat saya dan simulator berfungsi dengan baik. Saya akhirnya harus mengatur ulang perangkat saya dan kesalahan hilang.
sumber
Saya mengalami masalah ini sangat sering baru-baru ini. Apa yang akan mencegah hal ini terjadi? Logout dan perbaikan masalah tapi .. itu menjengkelkan untuk melakukannya sesering ini.
EDIT:
Saya baru saja menemukan penyebabnya. Saya memiliki bug dalam metode ApplicationWillTerminate. Jadi ketika saya mengklik tombol stop pada jendela Xcode, aplikasi tidak dapat berhenti dan mulai hang.
periksa Activity Monitor untuk melihat apakah aplikasi Anda ada dalam daftar. paksa berhenti jika memungkinkan.
sumber
Jika Anda menemukan masalah Anda disebabkan oleh proses zombie:
(seperti pada komentar sebelumnya https://stackoverflow.com/a/8104400/464289 ) dan hanya ingin segera memperbaiki masalah, Anda dapat melakukannya tanpa me-reboot atau membunuh apa pun. Cukup ganti nama target proyek Anda yang dapat dieksekusi:Mudah!
sumber
Yah, tidak ada jawaban tetapi setidaknya satu tes lagi untuk dilakukan. Buka Terminal dan jalankan perintah ini: "ps-Ael | grep Z". Jika Anda mendapatkan dua entri, satu "(dentang)" dan yang lainnya aplikasi atau nama perusahaan Anda, Anda disembunyikan - reboot.
Jika Anda seorang pengembang, masukkan bug pendek dan beri tahu Apple betapa menjengkelkannya harus reboot, dan katakan mereka dapat menduplikasi bug ini ke "rdar: // 10401934" yang baru saja saya masukkan.
David
sumber
Mengatur ulang Simulator iOS memperbaiki kesalahan saya. Meskipun ini akan menghapus semua Aplikasi yang Anda miliki di Simulator, itu memperbaiki masalah tanpa harus me-restart mesin.
Anda dapat mengatur ulang Simulator iOS Anda dengan melakukan hal berikut:
1) Buka menu "iOS Simulator", di sebelah logo Apple () di paling kiri layar utama Anda.
2) Pilih "Reset Konten dan Pengaturan ...".
3) Baca pesan pop dan jika Anda setuju klik "Reset" jika tidak, klik "Don't Reset".
sumber
sumber
Saya punya masalah @jyap menyebutkan dengan proses zombie. Satu-satunya cara untuk menghapusnya adalah dengan reboot. Namun, saya perhatikan bahwa teman-teman saya yang bekerja di proyek yang sama akan mendapatkan masalah yang sama tetapi dapat membunuh simulator tanpa membuat proses zombie. Saya benar-benar menghapus Xcode dan menginstal ulang, dan sementara saya masih mendapatkan kesalahan, itu tidak membuat proses zombie, jadi saya tidak perlu reboot.
Sebelum saya melakukan itu, saya menggunakan solusi yang sangat jelek ini: ubah ID aplikasi Anda dan jalankan lagi. Anda berakhir dengan salinan sampah aplikasi di simulator, tetapi Anda dapat menunda reboot untuk sementara waktu.
sumber
Kesalahan ini sering terjadi pada saya, hampir setiap kali saya menguji aplikasi di Simulator, memaksa saya untuk memulai kembali.
Berikut ini solusinya jika Anda ingin menyelesaikan pekerjaan:
YES
.Ini berarti bahwa ketika Anda menekan tombol beranda di simulator atau keluar dari simulator, aplikasi tidak hang.
Jangan lupa untuk mengubah pengaturan ini sebelum distribusi! Letakkan di daftar periksa rilis Anda :)
sumber
Jika ini terjadi saat pengujian pada iPhone. Nyalakan ulang ponsel. Dari apa yang saya katakan pada ponsel atau simulator masih percaya ada instance dari aplikasi berjalan, jadi ketika itu terakhir dijalankan itu tidak dihentikan dengan benar lakukan untuk kesalahan dalam kode Anda atau ponsel / simulator hanya ingin memiliki mengerang.
sumber
Saya mendapatkan kesalahan ini saat men-debug aplikasi saya di iPhone 4. Mem-boot ulang iPhone dengan susah payah memecahkan masalah saya. (Mematikan iPhone digantung ...)
Saya tidak memiliki proses zombie di mac saya dan me-reboot mac tidak menyelesaikan masalah.
Mungkin bug ini dapat memanifestasikan dirinya di kedua simulator dan perangkat yang sebenarnya ???
sumber
Mulai Ulang Perangkat, Berhasil! : D
Terima kasih semuanya atas saran yang bagus.
sumber
Saya baru saja mengalami kesalahan ini. Saya mencoba me-restart simulator dan Xcode tetapi proyek saya hanya akan berfungsi lagi setelah bersih dan membangun. Tidak tahu apa yang menyebabkannya.
sumber
Saya memiliki setter rekursif yang meniup stack dan membunuh aplikasi saya sedemikian rupa sehingga saya harus menyalakan iPad saya. Itu terbukti dengan perbaikan dalam kode.
sumber
Saya memiliki masalah yang sama dan menyelesaikannya dengan melakukan hal berikut
Saya juga melakukan satu hal lagi, karena Xcode dikonfigurasi untuk menggunakan iOS 5.0 dan proyek saya menggunakan iOS 4.3
sumber
Penanganan alternatif:
Anda kehilangan semua data dalam aplikasi karena sebenarnya itu adalah aplikasi baru yang berjalan sejauh menyangkut simulator iPhone. Ini mungkin atau mungkin tidak lebih mengganggu daripada me-reboot - hanya ingin menambahkannya ke daftar.
sumber
Penyebab
Menjalankan aplikasi Anda di Simulator sebelum aplikasi yang berjalan sebelumnya benar-benar berhenti.
Cara Mengatasinya
Tunggu hingga Anda melihat tombol Stop menjadi aktif lagi sebelum berjalan lagi.
(Saya menggunakan Xcode 4.2.1. Masalah ini sangat sering terjadi ketika saya memutakhirkan ke OS X Lion).
sumber
Diperbaiki dengan me-reboot ponsel saya setelah menghapus aplikasi, kemudian membangunnya kembali dan berjalan kembali. Sekarang berfungsi dengan baik.
Aneh.
sumber
Tidak perlu membangun kembali atau menginstal ulang untuk masalah saya, dan dalam kasus saya kesalahan muncul ketika mencoba menjalankan aplikasi pada iPhone. Simulator bekerja dengan baik.
Solusi: Hapus aplikasi dari ponsel, lakukan restart ponsel secara dingin dan sekarang semuanya baik-baik saja.
sumber
Banyak terjadi bagi saya dengan Xcode 4.2.1 di Lion. Diperbarui ke 4.3.2 dan itu tidak terjadi lagi. Senang mereka memperbaikinya.
sumber
Mike Ash memposting solusi (Tuhan memberkatinya!) Yang tidak memerlukan reboot. Lari saja:
sumber
Saya pikir ini disebabkan oleh pemutusan paksa aplikasi Anda di iPhone sebelum menekan tombol stop di Xcode. Terkadang ketika Anda menekan tombol stop di Xcode, maka dibutuhkan waktu ekstra untuk keluar dari aplikasi jika hang. Tapi bersabarlah, itu akhirnya akan berhenti sebagian besar waktu.
sumber
Anda dapat mengalokasikan variabel dalam fungsi atau tab. Ini akan membatalkan alokasi jika fungsi atau tab Anda berhenti. Jadi, Anda harus mendeklarasikannya variabel anggota atau variabel global.
sumber
Saya mendapatkan kesalahan ini sepanjang waktu sampai saya berhenti memercayai tombol "Stop" di kotak dialog Run. Sekarang saya selalu menekan berhenti di bilah alat sebelum mencoba menjalankan, saya belum menemukan proses zombie apa pun.
sumber
Ya ampun - Saya sudah mencoba SEMUA yang tercantum di atas dan di pos lainnya. Menginstal ulang Xcode, me-reboot mesin saya, menyalin semua file yang hilang ke folder kanan ... Akhirnya saya mencadangkan iphone saya, menghapusnya dan mengembalikannya, dan berhasil!
Saya pikir apa yang mungkin menjadi penyebab dari membaca di dalam dan sekitar ini adalah memutus iPhone saya putih itu berjalan dengan alat kinerja menangkap kebocoran. Atau semacamnya.
Aaaah, napas lega.
sumber
Dalam kondisi terburuk Setel ulang konten dan pengaturan iOS Simulater, dan sebagian besar waktu dalam kasus saya, keluar dari XCode bersama dengan simulator, selalu berfungsi untuk saya dengan XCode4.6 (yang sering digantung)
sumber
Saya menghadapi masalah semacam ini sekali dalam kasus saya, inilah yang saya lakukan
Dalam sebagian besar kasus saya membuatnya berjalan pada langkah 6 kasus ekstrim saya harus me-restart mesin saya.
sumber
Kesalahan ini biasa terjadi dalam versi lama dari iOS Simulator karena contoh pekerjaan yang lebih lama di perangkat lain yang dimatikan dapat bertabrakan dengan instance baru.
iOS 6.0 dan yang lebih baru seharusnya tidak mengalami masalah seperti ini karena iOS 6.0 memperkenalkan penggunaan subset bootstrap, dan iOS 7.0 memperkenalkan penggunaan server bootstrap khusus (launchd_sim) yang sepenuhnya terisolasi dari server bootstrap host.
sumber