Collegamento a Xcode ID processo non riuscito


113

Qualcuno ha riscontrato questo problema? Ieri posso ancora eseguire la mia app nel simulatore ma ora non posso eseguire la mia app poiché Xcode stampa questo errore nella console:

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

Screenshot per errore

Ho provato a reinstallare, fare questo post e creare un nuovo progetto ma non ho restituito fortuna. Qualcuno può risolvere questo problema?

Uso Xcode 4.5 Preview 2 e provo a eseguire il simulatore iOS 6


Penso di affrontare esattamente lo stesso problema ( stackoverflow.com/questions/11688720/… ) ... l'errore fornito è "
impossibile

1
Ho descritto una possibile soluzione qui stackoverflow.com/a/12504712/647644
Lindemann

Come hai risolto questo problema? per favore dimmi anche tu. ho davvero bisogno della soluzione.
ios

si prega di consultare la risposta accettata
Rendy

1
Consiglierei alle persone di provare la risposta "Ripristino del contenuto e delle impostazioni nel simulatore" prima di provare la risposta effettivamente accettata di cambiare il debugger.
dartacus

Risposte:


153

Il ripristino del contenuto e delle impostazioni nel simulatore ha funzionato per me. Questo è disponibile nel menu "iOS Simulator".


1
Non ha funzionato per me. Mostra ancora una schermata nera con barra di stato (anche pulito il codice). Dopo aver cambiato il debugger in GDB come ha detto Imran, la mia app si carica bene.
user427969

1
Dopo aver ripristinato il contenuto e le impostazioni, esci dal simulatore e riavvialo. Ha funzionato come un fascino.
justinkoh

45

vai al menu Prodotto e trova il menu Modifica schema lì.

Nella finestra Modifica schema, seleziona l'opzione "Esegui" sul lato sinistro dello schermo e poi sul lato destro, cambia il debugger da LLDB a GDB.


6
Ho cambiato LLDB in GDB, ma successivamente viene sempre visualizzato come "Collegamento a MYApp" e mostra i seguenti log. GNU gdb 6.3.50-20050815 (versione Apple gdb-1822) (Sun Aug 5 03:00:42 UTC 2012) Copyright 2004 Free Software Foundation, Inc. GDB è un software libero, coperto dalla GNU General Public License, e tu sei benvenuto a modificarlo e / o distribuirne copie a determinate condizioni. Digita "mostra copia" per visualizzare le condizioni. Non c'è assolutamente alcuna garanzia per GDB. Digita "mostra garanzia" per i dettagli. Questo GDB è stato configurato come "x86_64-apple-darwin".
iOS_Developer

8
Avevo due simulatori (5.1 e 6.0), esci da xcode e ripristina il contenuto di entrambi i simulatori ........ è strano ma ha funzionato per me .... :-)
iOS_Developer

32
-1. Questo è un grande passo indietro. La reimpostazione dei contenuti del simulatore risolve il problema senza dover modificare il debugger.
ozz

2
@cdo La reimpostazione del contenuto non ha funzionato per me, cambiando il simulatore sì
Teofilo Israel Vizcaino Rodrig

4
POTREBBE AIUTARE: Anch'io sono passato a GDB, ho eseguito l'app una volta, poi sono tornato a LLDB e ha funzionato di nuovo! Quindi non devi rinunciare ai vantaggi di LLDB! Provaci.
Charles,

22

Ho riscontrato lo stesso problema e dopo un po 'ho scoperto che era dovuto al fatto che il mio progetto XCode includeva un riferimento alla cartella in una cartella denominata Resources .

Sembra che a XCode non piaccia quel nome.

La semplice rimozione del riferimento alla cartella o la ridenominazione della cartella ha risolto il problema.


1
Mi ci è voluto quasi un giorno per capirlo. #fail
Texas

1
Questo ha funzionato per me. Dopo aver rinominato, ho dovuto riavviare XCode e Simulator.
Suran

21

DUE METODI

Metodo 1 : All'interno della cartella Application Support -> iPhone Simulator -> In ogni versione del simulatore di iOS -> Applicazioni -> Elimina tutti i file qui presenti.

Ora vai su Prodotti -> Pulisci

Ora eseguilo su qualsiasi simulatore e funzionerà.

Metodo 2 :

Tocca Ripristina


2
Questo è l'unico metodo che ha funzionato per me. Ho causato il problema nominando una delle mie cartelle Risorse e ha ucciso il mio progetto, quasi aveva un cuore allegato. Apple dovrebbe davvero fare di meglio.
Zack Morris

9

Passaggio 1: ping

$ ping localhost

Questo dovrebbe restituire qualcosa di simile

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
...

Se funziona, questa risposta non risolverà il tuo problema, prova qualcos'altro.

Se ping restituisce qualcos'altro, ad esempio: ping: cannot resolve localhost: Unknown hostqualcosa è incasinato con il tuo /etc/hostsfile, vai al passaggio 2

Passaggio 2: controlla / etc / hosts

Verifica che la parte superiore del /etc/hostsfile sia simile a questa

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

Se non ha queste voci nel file, inseriscile nella parte superiore del file, svuota la cache dns utilizzando $ dscacheutil -flushcachee torna al passaggio 1 , altrimenti vai al passaggio 3 .

Passaggio 3: formato file corretto: dovrebbe essere unix o LF *

$ file /etc/hosts

Questo dovrebbe tornare: /etc/hosts: ASCII English text

Se restituisce qualcosa di simile, /etc/hosts: ASCII English text, with CR line terminators il file è nel formato sbagliato e probabilmente verrà ignorato.

Cambia le terminazioni di riga del file in unix o LF usando il tuo editor di testo preferito.

  • In Sublime Text 2 questo può essere fatto attraverso il menu di visualizzazione: Visualizza> Terminazioni di riga> Unix

Svuota la cache DNS ( $ dscacheutil -flushcache) e torna al passaggio 1


Dopo aver provato tutto il resto, questo FINALMENTE ha risolto il mio problema! Grazie!
Giona

Di recente ho modificato etc / hosts, male - grazie per la risposta
bdalziel

5

Simile alla risposta di fundtimer, il file host locale sembra essere stato il colpevole.

Ho dovuto /etc/hostsriportare le mie autorizzazioni all'impostazione predefinita dopo una modifica involontaria:

sudo chmod 644 /etc/hosts

Dopo di che, il simulatore / LLDB ha funzionato per me.


Nel mio caso ho aggiunto Ho modificato il file hosts per avere questo indirizzo ':: 1 newlocaldomain.local'
subharb

5

Questo è un vecchio argomento, ma credo che le cose siano leggermente cambiate per l'ultima versione di macOS.

Sono incappato nel problema durante il tentativo di eseguire una suite di test dell'interfaccia utente per un'app iOS nel simulatore su macOS Mojave Beta e Xcode 9.4.1.

Risulta che su macOS Mojave lo codesignstrumento (che è una parte del sistema operativo stesso e non una parte degli strumenti della riga di comando o Xcode) firma i processi in un ambiente di runtime rafforzato che include l'applicazione della firma del codice di runtime, la convalida della libreria, hard, kill, e limitazioni di debug. Questo, insieme alla protezione dell'integrità del sistema in macOS Mojave, impedisce al debugger lldb di connettersi alla destinazione in esecuzione.

Per risolvere questo problema, devi opzioni:

  1. Uno ovvio, probabilmente, è solo usare Xcode 10. Sembra che gestisca la connessione con grazia.

  2. Riavvia il sistema operativo in modalità di ripristino e disattiva la protezione dell'integrità del sistema dal terminale con csrutil disable. Il debugger si connette quindi felicemente.

Ho passato un bel po 'di tempo a sbattere la testa su questo e sono riuscito a risolverlo dopo aver letto il seguente articolo: http://www.lapcatsoftware.com/articles/debugging-mojave.html

Solo i miei due centesimi. Spero che questo aiuti qualcuno.


Ma ha senso solo in esecuzione sul simulatore (cioè su MacOS), giusto? Ricevo l'errore in esecuzione su un dispositivo ...
Dylan Nicholson

... che si è scoperto essere perché stavo installando il .app solo dopo aver firmato nuovamente. Una volta installato il file .ipa completo, è andato tutto bene.
Dylan Nicholson

4

In qualche modo avevo rimosso o cancellato dei record dal mio file / etc / hosts e ho ricevuto lo stesso errore. Dovresti controllare se nel tuo file / etc / hosts c'è la riga "127.0.0.1 localhost". Questo mi ha aiutato!


2
Grazie. Ho avuto questo errore e ho provato di tutto, niente ha funzionato. Ho controllato il mio file hosts ed era vuoto ad eccezione di una riga di Avast anti-virus. Avast ha effettivamente scritto sul mio file hosts precedentemente personalizzato (WTH?)! Ho aggiunto la riga "127.0.0.1 localhost" al file hosts e l'ho salvato. Quindi ho ripristinato il simulatore di iPhone, ho eseguito un "Clean" in Xcode e la volta successiva che ho eseguito l'app è stato avviato. Niente più Avast per me.
Ryan

Sì, neanche a me piace avast
pedrouan

Mi ci è voluto un po 'per scoprire come arrivare alla cartella degli host. Dal Finder, seleziona il menu "Vai" e scegli "Vai alla cartella ..." Quindi inserisci: /private/etc/hosts.txt
Jonah

In realtà potresti dover inserire $ sudo / etc / hosts
pedrouan

So che questa è la risposta di un anno fa. Ma vorrei sapere se c'è una differenza tra "127.0.0.1 localhost" e "127.0.0.1 serverchat.local". Devo rimuovere serverchat.local e sostituirlo con quello localhost? Consiglio per favore ...
Melvin Lai

4

So che questa è una vecchia domanda, ma mi è venuta fuori per prima quando ho cercato su Google "impossibile allegare all'ID del processo". Sto usando Xcode 7. È successo dopo che iOS9 è stato rilasciato e ho aggiornato la mia app swift per swift 2.

L'eliminazione della mia app nel simulatore e la creazione di una nuova build ed esecuzione lo hanno chiarito.


1
Simile anche qui, tranne per il fatto che ho fatto clic sull'app NEL simulatore e si è verificata, ma poi ho avuto problemi a fermarsi. Alla fine ho solo resettato il simulatore.
MCB

2

Ho appena rimosso l'applicazione dal simulatore (proprio come faresti su un dispositivo reale) e quando l'ho rieseguita tutto ha funzionato bene.


2

Ho anche lo stesso problema e per me la soluzione è: -

Elimina l'app dal simulatore, quindi cancella ed esegui il progetto.

Possa aiutare anche qualcun altro.


1

L'ho appena pubblicato sul forum degli sviluppatori. È stata una soluzione semplice e potrebbe aiutare qualcuno qui:

Ho avuto esattamente lo stesso problema: quando utilizzavo qualsiasi versione corrente di Xcode 4.xx e il debugger LLDB, oltre a qualsiasi versione del simulatore, XCode si bloccava costantemente con `` Impossibile collegarsi al processo ... '' La mia unica soluzione era passare a il debugger GDB. Questo è stato deludente poiché volevo davvero provare il nuovo e robusto LLDB in XCode 4.6-DP.

E poi mi sono ricordato; Qualche tempo fa avevo cambiato il mio file host di rete / server in ... etc / hosts per ospitare diversi host virtuali del server Apache2, cioè ho rimosso la riga:

127.0.0.1 locahost

Questo è tutto. Rimuovendo quella linea, XCode si è bloccato durante il collegamento al simulatore con LLDB. Ripristinando quella linea, XCode ha funzionato perfettamente con LLDB e il simulatore.

Ad ogni modo, questo potrebbe non essere il tuo problema, ma vale la pena esplorarlo. Per quanto mi riguarda, si tratta di un grave bug non documentato.


1

Ho avuto lo stesso problema durante il debug sul dispositivo. L'app si è arrestata in modo anomalo all'avvio ma non è stata visualizzata come un processo in esecuzione.

La mia soluzione è utilizzare alcune app di visualizzazione dei processi (ad esempio Stato del sistema o simili). Trova la tua app obsoleta e poi trova l'ID del processo genitore che di solito è debugserver .

Vai su Xcode, Prodotto -> Collega al processo -> Per ID processo e collega al PID del processo del server di debug . Aspetta un secondo e poi premi il pulsante Stop .

Il server di debug non aggiornato e i processi dell'app scompaiono.

(Quando si usa il simulatore, l'equivalente sarebbe usare il terminale, ps e terminare il processo dell'App. Non l'ho provato, però).


Mi sono imbattuto in questo bug prima e dopo aver sbattuto la testa contro questo per l'ultima mezz'ora o giù di lì, questo ha portato alla mia correzione. Grazie mille. '
Gowiem

1

Nel mio caso la soluzione era diversa: la modalità di esecuzione era "Release". Il passaggio a "Debug" lo ha risolto. Xcode 4.5.x non ha avuto problemi con esso.


1

Il problema per me è stato causato da un errore piuttosto stupido: ho creato un nuovo target per il mio progetto duplicando un target esistente e ho dimenticato di cambiare l' identificatore del bundle nel file info.plist del target.


1

Ho risolto questo problema rimuovendo i contenuti dei dati derivati ​​da Xcode.

Nel Finder premere MAIUSC + CMD + G e digitare sotto il percorso e rimuovere tutti i dati all'interno di DerivedData:

  ~/Library/Developer/Xcode/DerivedData

inserisci qui la descrizione dell'immagine

Ripristina anche le build del simulatore

     ~/Library/Application Support/iPhone Simulator/6.0/Applications 

1

La risposta sopra mi ha davvero aiutato. https://stackoverflow.com/a/12819757/1752988 Perché nel mio XCode ho usato story board e controller di visualizzazione personalizzato. e nel suo elenco di avvisi che ho visto che mancano alcuni file pennino. Mi sentivo persa nel vederlo. Tuttavia, ho visto questa risposta e, anche se non mi piaceva ripristinare il contenuto del mio simulatore di app, l'ho fatto e ha funzionato davvero per me.

E anche la modifica del debugger da Prodotto -> Schema -> Modifica schema (Esegui) da LLDB a GDB non ha funzionato neanche per me.

Ps: - Scusatemi, ho aggiunto questa risposta come commento di supporto sopra, dato che non ho 15 voti a favore della risposta sopra o 50 punti di reputazione per commentare sopra.



1

Quanto segue ha funzionato per me su iOS 9.1:

  1. Basta disinstallare l'app dal simulatore
  2. Esci dal simulatore (Cmd + Q)
  3. Pulisci il tuo progetto Xcode
  4. Corri sul simulatore

Nota: non è necessario ripristinare il simulatore.


1

Sto lavorando all'applicazione Ionic 2, sono nuovo di questo e persino di Xcode e del simulatore.
Inizialmente la mia app stava funzionando sul simulatore ma dopo un po 'di tempo ha iniziato a generare errori come
: errore xcode: impossibile allegare all'ID del processo

Ho cercato, provato tutte le risposte precedenti ma il mio problema non è stato risolto.
Poi ho aggiornato ( ionico , NPM , Cordova ) la mia macchina Setup

******************************************************
 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



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

Dopodiché eseguo un comando dalla home directory della mia applicazione

  1. ionic run -l
  2. build ionica ios.
  3. xcode importato cambia in xcode.
  4. Reimposta contenuto e impostazione come
    inserisci qui la descrizione dell'immagine
  5. prodotto chiaro da xcode,
    inserisci qui la descrizione dell'immagine
  6. Esegui Xcode e ora funziona sul simulatore.

Felice di vedere questo !!!


1

Così tante risposte a questo e non ho visto quella che credo sia quella corretta. È un problema con l'autorizzazione. Digita questo nel Terminale:

sudo DevToolsSecurity -enable


1

Su Xcode 9+ fai quanto segue: Vai al menu Xcode: Product-Scheme - Edit Scheme e nella scheda Run assicurati che la casella di controllo Debug Executable sia selezionata! Questo è tutto!

inserisci qui la descrizione dell'immagine


Stranamente per me è deselezionare la casella lo fa funzionare: /
hyouuu

0

Basta ripristinare il contenuto e le impostazioni del simulatore iOS e quindi pulire il codice premendo comando + maiusc + k tasti per pulire il codice.


0

Per quanto debole sia, il riavvio del computer è stata l'unica soluzione che ha funzionato. Ho provato a passare da LLDB a GDB, a ripristinare i contenuti del simulatore e a riavviare Xcode. L'unica cosa che ha funzionato è stato il riavvio del computer, la riapertura di Xcode e la riesecuzione dell'app.


0

Ho avuto lo stesso problema. Ho fatto alcune combinazioni di risposte fornite per farlo funzionare. :)

pulire la cartella Build facendo clic su "Prodotto" nella barra dei menu. mentre si preme il tasto Alt, fare clic su "Clean Build Folder". Ora riavvia il tuo xcode e il simulatore. Ora dovrebbe funzionare. in caso contrario, prova anche a cambiare l'identificatore del bundle e il simulatore "Reimposta contenuto", quindi riavvia xcode e il simulatore.


0

Ci ho provato oggi. Ho rimosso accidentalmente le mie immagini di avvio dalle mie impostazioni di destinazione.


0

prova a eseguire i passaggi successivi:

  • Vai a Prodotto / Schema / Modifica schema quindi seleziona la sezione Esegui.
  • Seleziona Info Tan e imposta Debugger Nessuno.
  • Esegui progetto. Deve funzionare (senza debugger)
  • Torna a Modifica schema e seleziona il debugger LLDB
  • Esegui progetto. Funziona.

Forse inoltre è necessario eliminare i dati derivati ​​e fare Product / Clean


0

Hai più utenti connessi alla tua macchina? Ho account "personali" e "di lavoro" sul mio laptop. Ho ricevuto questo errore quando stavo tentando di eseguire il debug dal mio account personale, ma avevo lasciato il simulatore in esecuzione nel mio account di lavoro. La chiusura del simulatore nell'altro account ha risolto il mio problema.


0

e un altro per la cronaca: (nessuno dei suggerimenti ha funzionato per me)

Leone di montagna: XCode 4.6.3

  • Io moved the whole Application to Trashe cancellato in seguito ad altre cartelle
  • /Users/[USERNAME]/Library/Developer
  • /Users/[USERNAME]/Library/Caches/com.apple.dt.XCode
  • /Users/[USERNAME]/Library/Application Support/iPhone Simulator

  • riavviare il sistema e reinstallare XCode


0

Anche oggi ha avuto lo stesso problema. stavo usando Xcode 4.6.3. ho chiuso il mio progetto e l'ho aperto in Xcode 5 e funziona perfettamente.

Strano ma vero


per me è una risposta perché ha risolto la mia domanda ok
Mohit
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.