Gagal Melampirkan ke ID Proses Xcode

113

Ada yang pernah mengalami masalah ini? Kemarin saya masih dapat menjalankan aplikasi saya di simulator tetapi sekarang saya tidak dapat menjalankan aplikasi saya karena Xcode mencetak kesalahan ini di konsol:

error: failed to attach to process ID <ID number>

Tangkapan layar untuk kesalahan

Saya telah mencoba menginstal ulang, melakukan posting ini dan membuat proyek baru tetapi tidak berhasil. Ada yang bisa mengatasi masalah ini?

Saya menggunakan Xcode 4.5 Preview 2 dan mencoba menjalankan simulator iOS 6

Rendy
sumber
Saya pikir saya menghadapi masalah yang persis sama ( stackoverflow.com/questions/11688720/… ) ... kesalahan yang diberikan adalah "gagal melampirkan ke ID proses 0"
PierrOz
1
Saya telah menjelaskan solusi yang mungkin di sini stackoverflow.com/a/12504712/647644
Lindemann
Bagaimana Anda memecahkan masalah ini? tolong beritahu aku juga. saya sangat membutuhkan solusinya.
ios
silakan lihat jawaban yang diterima
Rendy
1
Saya akan menyarankan orang untuk mencoba jawaban 'Mengatur ulang konten dan pengaturan dalam simulator' sebelum mencoba jawaban yang diterima sebenarnya untuk mengubah debugger.
dartacus

Jawaban:

153

Mengatur ulang konten dan pengaturan di simulator berhasil untuk saya. Ini tersedia di menu "Simulator iOS".

Robert Zahm
sumber
1
Tidak berhasil untuk saya. Masih menunjukkan layar hitam dengan status bar (bahkan kode dibersihkan). Setelah mengubah debugger ke GDB seperti yang disebutkan Imran, aplikasi saya memuat dengan baik.
pengguna427969
1
Setelah mengatur ulang konten dan pengaturan, keluar dari simulator dan mulai lagi. Bekerja seperti pesona.
justinkoh
45

pergi ke menu Produk dan cari menu Edit Skema di sana.

Saat berada di jendela Edit Scheme, pilih opsi "Run" di sisi kiri layar dan kemudian di sisi kanan, ubah debugger dari LLDB ke GDB.

Imran
sumber
6
Saya mengubah LLDB menjadi GDB, tetapi setelah itu selalu muncul seperti "Melampirkan ke MYApp" dan menampilkan log berikut. GNU gdb 6.3.50-20050815 (Apple versi gdb-1822) (Sun 5 Agustus 03:00:42 UTC 2012) Hak Cipta 2004 Free Software Foundation, Inc. GDB adalah perangkat lunak gratis, dicakup oleh Lisensi Publik Umum GNU, dan Anda dipersilakan untuk mengubahnya dan / atau mendistribusikan salinannya dalam kondisi tertentu. Ketik "show copying" untuk melihat ketentuannya. Sama sekali tidak ada jaminan untuk GDB. Ketik "tampilkan garansi" untuk detailnya. GDB ini dikonfigurasi sebagai "x86_64-apple-darwin".
iOS_Developer
8
Saya memiliki dua simulator (5.1 dan 6.0), keluar dari xcode dan mengatur ulang konten dari kedua simulator ........ aneh tapi berhasil untuk saya .... :-)
iOS_Developer
32
-1. Ini adalah langkah mundur yang besar. Menyetel ulang konten simulator akan memperbaiki masalah tanpa harus mengubah debugger.
ozz
2
@cdo Menyetel ulang konten tidak berhasil untuk saya, mengubah simulator ya
Teofilo Israel Vizcaino Rodrig
4
BISA MEMBANTU: Saya juga berubah ke GDB, menjalankan aplikasi sekali, lalu kembali ke LLDB dan berfungsi lagi! Jadi, Anda tidak harus melepaskan manfaat LLDB! Cobalah.
Charles
22

Saya mengalami masalah yang sama, dan setelah beberapa saat saya menemukan bahwa itu karena fakta bahwa proyek XCode saya menyertakan Referensi Folder ke folder bernama Resources .

Sepertinya Xcode tidak suka nama itu.

Hanya menghapus referensi folder atau mengganti nama folder menyelesaikan masalah.

Mirko Luchi
sumber
1
Ini membutuhkan waktu hampir sehari untuk memahaminya. #fail
Texas
1
Ini berhasil untuk saya. Setelah mengganti nama, saya harus me-restart XCode dan Simulator.
Suran
21

DUA METODE

Metode 1 : Di dalam folder Application Support -> iPhone Simulator -> Di setiap versi simulator iOS -> Aplikasi -> Hapus semua file yang ada di sini.

Sekarang masuk ke Products -> Clean

Sekarang jalankan di simulator apa pun dan itu akan berfungsi.

Metode 2 :

Ketuk Reset

Ambili B Menon
sumber
2
Ini adalah satu-satunya metode yang berhasil untuk saya. Saya menyebabkan masalah ini dengan menamai salah satu Sumber daya folder saya dan itu mematikan proyek saya, hampir saja ada hati yang dilampirkan. Apple seharusnya melakukan yang lebih baik.
Zack Morris
9

Langkah 1: ping

$ ping localhost

Ini harus mengembalikan sesuatu seperti

PING localhost (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.028 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.048 ms
...

Jika berhasil, jawaban ini tidak akan memperbaiki masalah Anda, coba yang lain.

Jika ping mengembalikan sesuatu yang lain misalnya: ping: cannot resolve localhost: Unknown hostada yang salah dengan /etc/hostsfile Anda , lanjutkan ke Langkah 2

Langkah2: Periksa / etc / hosts

Periksa apakah bagian atas /etc/hostsfile Anda terlihat seperti ini

127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost 
fe80::1%lo0     localhost

Jika tidak ada entri ini di file, masukkan di bagian atas file, bersihkan cache dns menggunakan $ dscacheutil -flushcachedan kembali ke Langkah 1 , jika tidak lanjutkan ke Langkah 3 .

Langkah3: Format File yang Benar: Ini harus unix atau LF *

$ file /etc/hosts

Ini harus mengembalikan: /etc/hosts: ASCII English text

Jika mengembalikan sesuatu seperti itu /etc/hosts: ASCII English text, with CR line terminators maka file dalam format yang salah dan kemungkinan besar diabaikan.

Ubah akhir baris file menjadi unix atau LF menggunakan editor teks favorit Anda.

  • Dalam Sublime Text 2 ini dapat dilakukan melalui menu tampilan: View> Line Endings> Unix

Kosongkan cache dns ( $ dscacheutil -flushcache) dan kembali ke langkah 1

Maksud
sumber
Setelah mencoba segala sesuatu yang lain, ini AKHIRNYA memecahkan masalah saya! Terima kasih!
Yunus
Saya baru saja memodifikasi etc / hosts, dengan buruk - terima kasih atas jawabannya
bdalziel
5

Mirip dengan jawaban fundtimer, file host lokal tampaknya menjadi pelakunya.

Saya harus mengubah /etc/hostsizin saya kembali ke default setelah perubahan yang tidak disengaja:

sudo chmod 644 /etc/hosts

Setelah itu, simulator / LLDB berfungsi untuk saya.

amattn
sumber
Dalam kasus saya, saya menambahkan saya mengedit file hosts agar memiliki alamat ini ':: 1 newlocaldomain.local'
subharb
5

Ini adalah topik lama, tapi saya yakin banyak hal telah berubah untuk versi terbaru macOS.

Saya tersandung pada masalah ini saat mencoba menjalankan rangkaian pengujian UI untuk aplikasi iOS di simulator pada macOS Mojave Beta dan Xcode 9.4.1.

Ternyata, di macOS Mojave, codesignalat (yang merupakan bagian dari OS itu sendiri dan bukan bagian dari Alat Baris Perintah atau Xcode) menandai proses ke dalam lingkungan runtime yang diperkuat yang mencakup penegakan penandatanganan kode waktu proses, validasi pustaka, hard, kill, dan pembatasan debugging. Ini, bersama dengan Perlindungan Integritas Sistem di macOS Mojave, mencegah debugger lldb agar tidak tersambung ke target yang sedang berjalan.

Untuk mengatasi ini, Anda harus memilih:

  1. Yang jelas, mungkin, hanya menggunakan Xcode 10. Tampaknya menangani koneksi dengan anggun.

  2. Reboot OS ke Recovery Mode dan matikan System Integrity Protection dari Terminal dengan csrutil disable. Debugger kemudian terhubung dengan bahagia.

Saya telah menghabiskan cukup banyak waktu untuk membenturkan kepala saya pada ini dan dapat menyelesaikan semuanya setelah membaca artikel berikut: http://www.lapcatsoftware.com/articles/debugging-mojave.html

Hanya dua sen saya. Semoga ini bisa membantu seseorang.

eploko
sumber
Tapi itu hanya masuk akal berjalan di simulator (yaitu di MacOS) kan? Saya mendapatkan kesalahan berjalan pada perangkat ...
Dylan Nicholson
... yang ternyata karena saya hanya memasang .app setelah penandatanganan ulang. Setelah saya menginstal .ipa lengkap, semuanya baik-baik saja.
Dylan Nicholson
4

Saya entah bagaimana menghapus atau menghapus catatan dari file / etc / hosts saya dan saya mendapat kesalahan yang sama. Anda harus memeriksa apakah Anda memiliki baris "127.0.0.1 localhost" di file / etc / hosts. Ini membantu saya!

pedrouan
sumber
2
Terima kasih. Saya mengalami kesalahan ini dan mencoba segalanya, tidak ada yang berhasil. Saya memeriksa file host saya dan file itu kosong kecuali satu baris dari anti-virus Avast. Avast sebenarnya menulis di atas file host saya yang sebelumnya disesuaikan (WTH?)! Saya menambahkan baris '127.0.0.1 localhost' ke file host, menyimpannya. Kemudian saya mengatur ulang simulator iPhone, melakukan 'Bersihkan' di Xcode dan itu mulai tepat saat saya menjalankan aplikasi berikutnya. Tidak ada lagi Avast untuk saya.
Ryan
Ya, saya juga tidak suka avast
pedrouan
Butuh beberapa saat untuk mencari tahu cara masuk ke folder host. Dari Finder, pilih menu "Go" dan pilih "Go to folder ..." Kemudian masukkan: /private/etc/hosts.txt
Jonah
Sebenarnya Anda mungkin perlu memasukkan $ sudo / etc / hosts
pedrouan
Saya tahu ini adalah jawaban setahun yang lalu. Tapi saya ingin tahu apakah ada perbedaan antara '127.0.0.1 localhost' dan '127.0.0.1 serverchat.local'. Haruskah saya menghapus serverchat.local dan menggantinya dengan localhost? Saran tolong ...
Melvin Lai
4

Saya tahu ini adalah pertanyaan lama, tetapi ini muncul pertama kali ketika saya melakukan pencarian google untuk "gagal melampirkan ke proses ID". Saya menggunakan Xcode 7. Terjadi setelah iOS9 dirilis dan saya telah memperbarui aplikasi swift saya untuk swift 2.

Menghapus aplikasi saya di simulator dan melakukan build dan menjalankan baru akan menghapusnya.

Christopher Larsen
sumber
1
Mirip di sini juga, kecuali saya baru saja mengklik aplikasi DI simulator dan muncul, tetapi kemudian mengalami masalah. Akhirnya saya hanya mereset simulator.
MCB
2

Saya baru saja menghapus aplikasi dari simulator (seperti yang Anda lakukan pada perangkat sebenarnya), dan ketika saya menjalankannya kembali semuanya bekerja dengan baik.

Nic Foster
sumber
2

Saya juga memiliki masalah yang sama dan bagi saya solusinya adalah: -

Hapus saja aplikasi dari Simulator lalu hapus dan Jalankan proyek.

Semoga itu membantu juga untuk orang lain.

Muhammad Rizwan
sumber
1

Saya baru saja memposting ini di Forum Pengembang. Itu adalah solusi sederhana dan dapat membantu seseorang di sini:

Saya memiliki masalah yang persis sama: ketika menggunakan versi Xcode 4.xx dan debugger LLDB saat ini, ditambah versi Simulator apa pun, XCode secara konsisten macet dengan 'gagal melampirkan ke proses ...' Satu-satunya resolusi saya adalah beralih ke debugger GDB. Ini mengecewakan karena saya benar-benar ingin mencoba LLDB baru yang kuat di XCode 4.6-DP.

Dan kemudian saya ingat; Saya telah mengubah file host jaringan / server saya di ... etc / hosts beberapa waktu lalu untuk mengakomodasi beberapa host virtual server Apache2, yaitu, saya menghapus baris:

127.0.0.1 locahost

Itu dia. Menghapus baris itu, Xcode macet saat memasang ke Simulator dengan LLDB. Memulihkan baris itu, XCode bekerja dengan baik dengan LLDB dan Simulator.

Bagaimanapun, ini mungkin bukan masalah Anda tetapi perlu ditelusuri. Sejauh yang saya ketahui, ini adalah bug serius yang tidak terdokumentasi.

fundtimer
sumber
1

Saya mengalami masalah yang sama saat melakukan debug pada perangkat. Aplikasi macet saat dimulai tetapi tidak muncul sebagai proses yang sedang berjalan.

Solusi saya adalah dengan menggunakan beberapa aplikasi penampil proses (misalnya Status Sistem atau serupa). Temukan aplikasi lama Anda, lalu temukan ID proses induk yang biasanya adalah debugserver .

Buka Xcode, Produk -> Lampirkan ke Proses -> Dengan id proses dan lampirkan ke proses debugserver PID. Tunggu sebentar, lalu tekan tombol Stop .

Debugserver lama dan proses aplikasi menghilang.

(Saat menggunakan simulator, hal yang setara akan menggunakan terminal, ps, dan mematikan proses App. Namun, belum mencobanya).

Ramon Poca
sumber
Saya telah mengalami bug ini sebelum dan setelah membenturkan kepala saya terhadap ini selama setengah jam terakhir ini menyebabkan perbaikan saya. Terima kasih banyak. '
Gowiem
1

Dalam kasus saya, solusinya berbeda: mode yang dijalankan adalah "Rilis". Mengubah ke "Debug" memperbaikinya. Xcode 4.5.x tidak bermasalah dengan itu.

orip
sumber
1

Masalahnya bagi saya disebabkan oleh kesalahan yang cukup bodoh: Saya membuat target baru untuk proyek saya dengan menduplikasi target yang sudah ada dan lupa mengubah Pengenal Bundel di file info.plist target.

mwidmann
sumber
1

Saya memperbaiki masalah ini dengan menghapus konten data Berasal Xcode.

Di finder tekan SHIFT + CMD + G dan ketik jalur di bawah ini dan hapus semua data di dalam DerivedData:

  ~/Library/Developer/Xcode/DerivedData

masukkan deskripsi gambar di sini

Juga setel ulang build simulator

     ~/Library/Application Support/iPhone Simulator/6.0/Applications 
Guru
sumber
1

Jawaban di atas sangat membantu saya. https://stackoverflow.com/a/12819757/1752988 Karena di XCode saya, saya menggunakan papan cerita dan pengontrol tampilan khusus. dan dalam daftar peringatannya bahwa saya melihat beberapa file pena hilang. Saya rindu dipimpin oleh melihat itu. Namun, saya melihat jawaban ini, dan meskipun saya tidak suka mengatur ulang konten Simulator aplikasi, saya melakukannya dan itu benar-benar berhasil untuk saya.

Dan juga Mengubah Debugger dari Produk -> Skema -> Edit Skema (Jalankan) dari LLDB ke GDB juga tidak berhasil untuk saya.

Ps: - Maaf, saya menambahkan jawaban ini sebagai komentar dukungan di atas, karena saya tidak memiliki 15 reputasi yang mendukung jawaban di atas atau 50 poin reputasi untuk dikomentari di atas.

Randika Vishman
sumber
1

Saya memecahkan masalah ini dengan keluar dari XCode dan Simulator. Buka kembali Proyek. Selesai.

Jayprakash Dubey
sumber
1

Yang berikut ini berfungsi untuk saya di iOS 9.1:

  1. Cukup hapus instalan aplikasi dari simulator
  2. Keluar dari simulator (Cmd + Q)
  3. Bersihkan proyek Xcode Anda
  4. Jalankan di simulator

Catatan: Tidak perlu mengatur ulang simulator.

Arjun Shukla
sumber
1

Saya sedang mengerjakan aplikasi Ionic 2, saya baru mengenal ini dan bahkan Xcode dan simulator.
Awalnya aplikasi saya bekerja pada simulator tetapi setelah beberapa waktu itu mulai menghasilkan kesalahan seperti-
kesalahan xcode: gagal melampirkan ke proses id

Saya mencari, mencoba semua jawaban di atas tetapi masalah saya tidak teratasi.
Kemudian saya memperbarui ( Ionic , npm , cordova ) pengaturan mesin saya-

******************************************************
 Dependency warning - for the CLI to run correctly,      
 it is highly recommended to install/upgrade the following:     

 Install ios-deploy to deploy iOS applications to devices.  `npm install -g ios-deploy` (may require sudo)

******************************************************

Your system information:

Cordova CLI: 6.4.0 
Ionic Framework Version: 2.0.0-beta.10
Ionic CLI Version: 2.1.8
Ionic App Lib Version: 2.1.4
ios-deploy version: Not installed
ios-sim version: 5.0.8 
OS: OS X Yosemite
Node Version: v6.2.2
Xcode version: Xcode 7.2 Build version 7C68



******************************************************

Setelah ini saya hanya menjalankan perintah dari direktori home aplikasi saya

  1. run ionik -l
  2. membangun ion ios.
  3. mengimpor perubahan xcode ke xcode.
  4. Atur ulang konten dan pengaturan sebagai-
    masukkan deskripsi gambar di sini
  5. hapus produk dari xcode,
    masukkan deskripsi gambar di sini
  6. Jalankan Xcode dan sekarang ini berfungsi pada simulator.

Senang melihat ini !!!

S.Yadav
sumber
1

Begitu banyak jawaban untuk ini dan saya tidak melihat apa yang saya yakini adalah yang benar. Ini masalah dengan otorisasi. Ketik ini di Terminal:

sudo DevToolsSecurity -enable

crewshin
sumber
1

Di Xcode 9+, lakukan hal berikut: Buka menu Xcode: Skema Produk - Edit Skema dan di bawah tab Jalankan pastikan kotak Debug Executable dicentang! Itu dia!

masukkan deskripsi gambar di sini

joan
sumber
Anehnya bagi saya itu tidak mencentang kotak membuatnya bekerja: /
hyouuu
0

Cukup setel ulang konten dan pengaturan simulator iOS dan kemudian bersihkan kode dengan menekan tombol command + shift + k untuk membersihkan kode. Ini berhasil untuk saya

Desert Rose
sumber
0

Betapapun payahnya, memulai ulang komputer saya adalah satu-satunya solusi yang berhasil. Saya mencoba beralih dari LLDB ke GDB, mengatur ulang konten Simulator, dan memulai ulang Xcode. Satu-satunya hal yang berhasil adalah me-restart komputer saya, membuka kembali Xcode, dan menjalankan kembali aplikasi.

Jeff Grimes
sumber
0

Saya memiliki masalah yang sama. Saya melakukan beberapa kombinasi jawaban yang diberikan untuk membuatnya berhasil. :)

bersihkan Build Folder dengan mengklik "Produk" di MenuBar. sambil menekan tombol Alt, klik "Clean Build Folder". Sekarang restart xcode dan simulator Anda. Sekarang seharusnya berhasil. jika tidak, coba juga mengubah pengenal paket dan Simulator "Setel Ulang Konten" lalu mulai ulang xcode dan simulator.


sumber
0

Berlari melewati hari ini. Saya tidak sengaja menghapus gambar Peluncuran saya dari Pengaturan Target saya.

PWiggin
sumber
0

coba lakukan langkah selanjutnya:

  • Pergi ke Product / Scheme / Edit Scheme lalu pilih Run section.
  • Pilih Info Tan dan atur Debugger None.
  • Jalankan proyek. Ini harus berfungsi (tanpa debugger)
  • Kembali ke Edit Scheme dan selecet debugger LLDB
  • Jalankan proyek. Ini bekerja.

Mungkin juga Anda perlu menghapus data turunan dan melakukan Product / Clean

Philip J. Fry
sumber
0

Apakah Anda memiliki banyak pengguna yang masuk ke mesin Anda? Saya memiliki akun "pribadi" dan "kerja" di laptop saya. Saya mendapatkan kesalahan ini saat mencoba men-debug dari akun pribadi saya, tetapi simulator tetap berjalan di akun kerja saya. Keluar dari simulator di akun lain memperbaiki masalah saya.

teronggok
sumber
0

dan satu lagi untuk dicatat: (tidak ada saran yang berhasil untuk saya)

Singa Gunung: XCode 4.6.3

  • Saya moved the whole Application to Trashdan menghapus mengikuti folder lain
  • /Users/[USERNAME]/Library/Developer
  • /Users/[USERNAME]/Library/Caches/com.apple.dt.XCode
  • /Users/[USERNAME]/Library/Application Support/iPhone Simulator

  • reboot Sistem dan instal ulang XCode

longi
sumber
0

Juga punya masalah yang sama hari ini. saya menggunakan Xcode 4.6.3. saya menutup proyek saya dan membukanya di Xcode 5 dan itu berjalan dengan sempurna.

Aneh tapi Nyata

Mohit
sumber
bagi saya ini adalah jawaban karena itu memecahkan pertanyaan saya, ok
Mohit