Échec de la connexion au Xcode de l'ID de processus

113

Quelqu'un a rencontré ce problème? Hier, je peux toujours exécuter mon application dans le simulateur, mais maintenant je ne peux pas exécuter mon application car Xcode imprime cette erreur dans la console:

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

Capture d'écran d'erreur

J'ai essayé de réinstaller, de faire ce post et de créer un nouveau projet mais je n'ai pas eu de chance. N'importe qui peut résoudre ce problème?

J'utilise Xcode 4.5 Preview 2 et j'essaye d'exécuter le simulateur iOS 6

Rendy
la source
Je pense que je suis exactement confronté au même problème ( stackoverflow.com/questions/11688720/… ) ... l'erreur donnée est "Échec de l'attachement au processus ID 0"
PierrOz
1
J'ai décrit une solution possible ici stackoverflow.com/a/12504712/647644
Lindemann
Comment avez-vous résolu ce problème? s'il vous plaît dites-moi aussi. j'ai vraiment besoin de la solution.
ios le
s'il vous plaît voir la réponse acceptée
Rendy
1
Je conseillerais aux gens d'essayer la réponse `` Réinitialiser le contenu et les paramètres du simulateur '' avant d'essayer la réponse réelle acceptée de changer le débogueur.
dartacus

Réponses:

153

La réinitialisation du contenu et des paramètres dans le simulateur a fonctionné pour moi. Ceci est disponible dans le menu "Simulateur iOS".

Robert Zahm
la source
1
Cela n'a pas fonctionné pour moi. Affiche toujours un écran noir avec barre d'état (même nettoyé le code). Après avoir changé le débogueur en GDB, comme Imran l'a mentionné, mon application se charge correctement.
user427969
1
Après avoir réinitialisé le contenu et les paramètres, quittez le simulateur et redémarrez-le. A fonctionné comme un charme.
justinkoh
45

allez dans le menu Produit et trouvez le menu Edit Scheme.

Dans la fenêtre Modifier le schéma, sélectionnez l'option "Exécuter" sur le côté gauche de l'écran, puis sur le côté droit, changez le débogueur de LLDB en GDB.

Imran
la source
6
J'ai changé LLDB en GDB, mais après cela, il s'affiche toujours comme «Attaching to MYApp» et affiche les journaux suivants. GNU gdb 6.3.50-20050815 (version Apple gdb-1822) (dim 5 août 03:00:42 UTC 2012) Copyright 2004 Free Software Foundation, Inc. GDB est un logiciel libre, couvert par la licence publique générale GNU, et vous êtes bienvenue pour le modifier et / ou en distribuer des copies sous certaines conditions. Tapez "show copying" pour voir les conditions. Il n'y a absolument aucune garantie pour GDB. Tapez "afficher la garantie" pour plus de détails. Ce GDB a été configuré comme "x86_64-apple-darwin".
iOS_Developer
8
J'avais deux simulateurs (5.1 et 6.0), quittez le xcode et réinitialisez le contenu des deux simulateurs ........ c'est étrange mais cela a fonctionné pour moi .... :-)
iOS_Developer
32
-1. C'est un grand pas en arrière. La réinitialisation du contenu du simulateur résout le problème sans avoir à changer le débogueur.
ozz
2
@cdo La réinitialisation du contenu n'a pas fonctionné pour moi, changer le simulateur oui
Teofilo Israel Vizcaino Rodrig
4
PEUT AIDER: moi aussi, je suis passé à GDB, j'ai exécuté l'application une fois, puis je suis revenu à LLDB et cela a fonctionné à nouveau! Vous n'avez donc pas à renoncer aux avantages de la LLDB! Essaie.
Charles
22

J'ai rencontré le même problème, et après un certain temps, j'ai découvert que c'était dû au fait que mon projet XCode incluait une référence de dossier dans un dossier nommé Resources .

Il semble que XCode n'aime pas ce nom.

Le simple fait de supprimer la référence du dossier ou de renommer le dossier a résolu le problème.

Mirko Luchi
la source
1
Cela m'a pris près d'un jour pour comprendre. #fail
Texas
1
Cela a fonctionné pour moi. Après avoir renommé, j'ai dû redémarrer XCode et Simulator.
Suran
21

DEUX MÉTHODES

Méthode 1 : Dans le dossier Application Support -> iPhone Simulator -> Dans chaque version de simulateur d'iOS -> Applications -> Supprimez tous les fichiers présents ici.

Maintenant, allez dans Produits -> Nettoyer

Maintenant, exécutez-le sur n'importe quel simulateur et cela fonctionnera.

Méthode 2 :

Appuyez sur Réinitialiser

Ambili B Menon
la source
2
C'est la seule méthode qui a fonctionné pour moi. J'ai causé le problème en nommant l'une de mes ressources de dossier et cela a tué mon projet, à peu près avait un cœur attaché. Apple devrait vraiment faire mieux.
Zack Morris
9

Étape 1: ping

$ ping localhost

Cela devrait renvoyer quelque chose comme

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

Si cela fonctionne, cette réponse ne résoudra pas votre problème, essayez autre chose.

Si le ping renvoie autre chose par exemple: ping: cannot resolve localhost: Unknown hostquelque chose est foiré avec votre /etc/hostsfichier, passez à l' étape 2

Étape 2: Vérifiez / etc / hosts

Vérifiez que le haut de votre /etc/hostsfichier ressemble à ceci

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

S'il ne contient pas ces entrées dans le fichier, entrez-les en haut du fichier, videz le cache DNS en utilisant $ dscacheutil -flushcacheet revenez à l' étape 1 , sinon passez à l' étape 3 .

Étape 3: Format de fichier correct: il doit être unix ou LF *

$ file /etc/hosts

Cela devrait renvoyer: /etc/hosts: ASCII English text

S'il renvoie quelque chose comme cela, /etc/hosts: ASCII English text, with CR line terminators le fichier est dans le mauvais format et est probablement ignoré.

Changez les fins de ligne de fichier en unix ou LF en utilisant votre éditeur de texte préféré.

  • Dans Sublime Text 2, cela peut être fait via le menu d'affichage: Affichage> Fin de ligne> Unix

Videz le cache DNS ( $ dscacheutil -flushcache) et revenez à l' étape 1

Intentions
la source
Après avoir tout essayé, cela a finalement résolu mon problème! Merci!
Jonah
J'ai récemment modifié etc / hosts, mal - merci pour la réponse
bdalziel
5

Semblable à la réponse de fundtimer, le fichier des hôtes locaux semble avoir été le coupable.

J'ai dû modifier mes /etc/hostsautorisations par défaut après une modification par inadvertance:

sudo chmod 644 /etc/hosts

Après cela, le simulateur / LLDB a fonctionné pour moi.

amattn
la source
Dans mon cas, j'ai ajouté j'ai édité le fichier hosts pour avoir cette adresse ':: 1 newlocaldomain.local'
subharb
5

C'est un vieux sujet, mais je pense que les choses ont un peu changé pour la dernière version de macOS.

Je suis tombé sur le problème en essayant d'exécuter une suite de tests d'interface utilisateur pour une application iOS dans le simulateur sur macOS Mojave Beta et Xcode 9.4.1.

Il s'avère que sur macOS Mojave, l' codesignoutil (qui fait partie du système d'exploitation lui-même et non des outils de ligne de commande ou Xcode) signe les processus dans un environnement d' exécution renforcé qui comprend l'application de la signature du code d'exécution, la validation de la bibliothèque, le hard, kill, et les restrictions de débogage. Ceci, associé à la protection de l'intégrité du système dans macOS Mojave, empêche le débogueur lldb de se connecter à la cible en cours d'exécution.

Pour résoudre ce problème, vous devez options:

  1. Une évidence, probablement, est simplement d'utiliser Xcode 10. Il semble gérer la connexion avec élégance.

  2. Redémarrez le système d'exploitation en mode de récupération et désactivez la protection de l'intégrité du système à partir du terminal avec csrutil disable. Le débogueur se connecte alors joyeusement.

J'ai passé pas mal de temps à me cogner la tête à ce sujet et j'ai pu tout résoudre après avoir lu l'article suivant: http://www.lapcatsoftware.com/articles/debugging-mojave.html

Juste mes deux cents. J'espère que cela aide quelqu'un.

eploko
la source
Mais cela n'a de sens que sur le simulateur (c'est-à-dire sur MacOS), non?
Dylan Nicholson
... ce qui s'est avéré être parce que je n'installais le .app qu'après une nouvelle signature. Une fois que j'ai installé le .ipa complet, tout allait bien.
Dylan Nicholson
4

J'avais en quelque sorte supprimé ou supprimé des enregistrements de mon fichier / etc / hosts et j'ai eu la même erreur. Vous devriez vérifier si vous avez dans votre fichier / etc / hosts la ligne "127.0.0.1 localhost". Cela m'a aidé!

pedrouan
la source
2
Merci. J'ai eu cette erreur et j'ai tout essayé, rien n'a fonctionné. J'ai vérifié mon fichier d'hôtes et il était vide à l'exception d'une ligne de l'antivirus Avast. Avast a en fait écrit sur mon fichier d'hôtes précédemment personnalisé (WTH?)! J'ai ajouté la ligne '127.0.0.1 localhost' au fichier hosts, je l'ai sauvegardé. Ensuite, j'ai réinitialisé le simulateur de l'iPhone, fait un `` Nettoyer '' dans Xcode et cela a démarré la prochaine fois que j'ai exécuté l'application. Plus d'Avast pour moi.
Ryan
Ouais, je n'aime pas non plus avast
pedrouan
Il m'a fallu un certain temps pour savoir comment accéder au dossier hosts. Depuis le Finder, sélectionnez le menu "Aller" et choisissez "Aller au dossier ..." Puis entrez: /private/etc/hosts.txt
Jonah
En fait, vous devrez peut-être entrer $ sudo / etc / hosts
pedrouan
Je sais que c'est la réponse d'il y a un an. Mais j'aimerais savoir s'il y a une différence entre «127.0.0.1 localhost» et «127.0.0.1 serverchat.local». Dois-je supprimer le serverchat.local et le remplacer par celui de l'hôte local? Advice please ...
Melvin Lai
4

Je sais que c'est une vieille question, mais elle m'est apparue en premier lorsque j'ai effectué une recherche Google sur "Échec de l'attachement à l'ID de processus". J'utilise Xcode 7. Cela s'est produit après la sortie d'iOS9 et j'ai mis à jour mon application swift pour swift 2.

La suppression de mon application dans le simulateur et la création d'une nouvelle version et exécution l'ont effacée.

Christopher Larsen
la source
1
Similaire ici aussi, sauf que j'ai simplement cliqué sur l'application dans le simulateur et que cela s'est produit, mais j'ai ensuite eu des problèmes pour m'arrêter. En fin de compte, je viens de réinitialiser le simulateur.
MCB
2

Je viens de supprimer l'application du simulateur (comme vous le feriez sur un appareil réel), et quand je l'ai relancée, tout fonctionnait bien.

Nic Foster
la source
2

J'ai aussi le même problème et pour moi la solution est: -

Supprimez simplement l'application du simulateur, puis effacez et exécutez le projet.

Puisse-t-il aider aussi quelqu'un d'autre.

Muhammad Rizwan
la source
1

Je viens de publier ceci sur le forum des développeurs. C'était une solution simple et peut aider quelqu'un ici:

J'ai eu exactement le même problème: lors de l'utilisation de n'importe quelle version actuelle de Xcode 4.xx et du débogueur LLDB, ainsi que de n'importe quelle version du simulateur, XCode s'est toujours écrasé avec `` échec de l'attachement au processus ... '' Ma seule résolution était de passer à le débogueur GDB. C'était décevant car je voulais vraiment essayer le nouveau LLDB robuste en XCode 4.6-DP.

Et puis je me suis souvenu; J'avais changé mon fichier hôte réseau / serveur à ... etc / hosts il y a quelque temps pour accueillir plusieurs hôtes virtuels du serveur Apache2, c'est-à-dire que j'ai supprimé la ligne:

127.0.0.1 locahost

C'était ça. En supprimant cette ligne, XCode s'est écrasé lors de la connexion au simulateur avec LLDB. En restaurant cette ligne, XCode fonctionnait très bien avec LLDB et le simulateur.

Quoi qu'il en soit, ce n'est peut-être pas votre problème, mais cela vaut la peine d'être exploré. En ce qui me concerne, c'est un grave bug non documenté.

minuterie
la source
1

J'ai eu le même problème lors du débogage sur l'appareil. L'application a planté au démarrage mais n'apparaît pas comme un processus en cours d'exécution.

Ma solution consiste à utiliser une application de visualisation de processus (par exemple, État du système ou similaire). Trouvez votre application obsolète, puis recherchez l'ID de processus parent qui est généralement debugserver .

Allez sur Xcode, Product -> Attach to Process -> By process id et attachez-le au PID du processus debugserver . Attendez une seconde, puis appuyez sur le bouton Stop .

Les processus obsolètes du serveur de débogage et de l'application disparaissent.

(Lors de l'utilisation du simulateur, l'équivalent serait d'utiliser le terminal, ps, et de tuer le processus de l'application. Je n'ai pas essayé cela, cependant).

Ramon Poca
la source
J'ai rencontré ce bug avant et après m'être cogné la tête contre cela pendant environ une demi-heure, cela a conduit à ma solution. Merci beaucoup. '
Gowiem
1

Dans mon cas, la solution était différente: le mode d'exécution était "Release". Le passage à "Debug" l'a corrigé. Xcode 4.5.x n'a eu aucun problème avec cela.

orip
la source
1

Le problème pour moi a été causé par une erreur assez stupide: j'ai créé une nouvelle cible pour mon projet en dupliquant une cible existante et j'ai oublié de changer l' identifiant du bundle dans le fichier info.plist de la cible.

mwidmann
la source
1

J'ai résolu ce problème en supprimant le contenu des données Xcode Derived.

Dans le Finder, appuyez sur SHIFT + CMD + G et tapez ci-dessous le chemin et supprimez toutes les données à l'intérieur de DerivedData:

  ~/Library/Developer/Xcode/DerivedData

entrez la description de l'image ici

Réinitialiser également les versions du simulateur

     ~/Library/Application Support/iPhone Simulator/6.0/Applications 
Gourou
la source
1

La réponse ci-dessus m'a vraiment aidé. https://stackoverflow.com/a/12819757/1752988 Parce que dans mon XCode, j'ai utilisé un storyboard et un contrôleur de vue personnalisé. et dans sa liste d'avertissement que j'ai vu certains des fichiers nib sont manquants. J'ai été mademoisée en voyant cela. Cependant, j'ai vu cette réponse, et même si je n'aimais pas réinitialiser le contenu de mon simulateur d'application, je l'ai fait et cela a vraiment fonctionné pour moi.

Et aussi Changer le débogueur du produit -> Schéma -> Modifier le schéma (Exécuter) de LLDB à GDB n'a pas non plus fonctionné pour moi.

Ps: - Pardonnez-moi, j'ai ajouté cette réponse comme commentaire de support ci-dessus, car je n'ai pas 15 points de réputation pour voter la réponse ci-dessus ou 50 points de réputation à commenter ci-dessus.

Randika Vishman
la source
1

J'ai résolu ce problème en quittant XCode et Simulator. Rouvrez le projet. Terminé.

Jayprakash Dubey
la source
1

Ce qui suit a fonctionné pour moi sur iOS 9.1:

  1. Désinstallez simplement l'application du simulateur
  2. Quittez le simulateur (Cmd + Q)
  3. Nettoyez votre projet Xcode
  4. Exécuter sur simulateur

Remarque: pas besoin de réinitialiser le simulateur.

Arjun Shukla
la source
1

Je travaille sur l'application Ionic 2, je suis nouveau dans ce domaine et même sur Xcode et simulateur.
Au départ, mon application fonctionnait sur le simulateur, mais après un certain temps, elle commence à générer une erreur comme
- Erreur xcode: échec de la connexion à l'ID de processus

J'ai recherché, essayé toutes les réponses ci-dessus mais mon problème n'a pas été résolu.
Ensuite, j'ai mis à jour ( Ionic , npm , cordova ) la configuration de ma machine-

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



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

Après cela, je viens d'exécuter une commande à partir du répertoire d'accueil de mon application

  1. ionique run -l
  2. construction ionique ios.
  3. les modifications importées de xcode en xcode.
  4. Réinitialiser le contenu et définir comme-
    entrez la description de l'image ici
  5. effacer le produit de xcode,
    entrez la description de l'image ici
  6. Exécutez Xcode et maintenant il fonctionne sur le simulateur.

Heureux de voir ça !!!

S.Yadav
la source
1

Tant de réponses à cela et je n'ai pas vu ce que je crois être la bonne. C'est un problème d'autorisation. Tapez ceci dans le terminal:

sudo DevToolsSecurity -enable

équipage
la source
1

Sur Xcode 9+, procédez comme suit: Allez dans le menu Xcode: Product-Scheme - Edit Scheme et sous l' onglet Run, assurez-vous que la case Debug Executable est cochée! C'est tout!

entrez la description de l'image ici

Jeanne
la source
Curieusement pour moi, c'est décocher la case le fait fonctionner: /
hyouuu
0

Il suffit de réinitialiser le contenu et les paramètres du simulateur iOS, puis de nettoyer le code en appuyant sur les touches Commande + Maj + k pour nettoyer le code.

Rose du désert
la source
0

Aussi boiteux soit-il, le redémarrage de mon ordinateur était la seule solution qui fonctionnait. J'ai essayé de passer de LLDB à GDB, de réinitialiser le contenu du simulateur et de redémarrer Xcode. La seule chose qui a fonctionné était de redémarrer mon ordinateur, de rouvrir Xcode et de réexécuter l'application.

Jeff Grimes
la source
0

J'ai eu le même problème. J'ai fait quelques combinaisons de réponses données pour que cela fonctionne. :)

nettoyez le dossier de construction en cliquant sur "Produit" dans la barre de menus. tout en appuyant sur la touche Alt, cliquez sur "Clean Build Folder". Redémarrez maintenant votre xcode et votre simulateur. Maintenant, cela devrait fonctionner. sinon, essayez également de changer l'identifiant du bundle et le "Content Reset" du simulateur, puis redémarrez xcode et simulator.


la source
0

J'ai traversé ça aujourd'hui. J'ai accidentellement supprimé mes images de lancement de mes paramètres de cible.

PWiggin
la source
0

essayez de faire les étapes suivantes:

  • Allez dans Product / Scheme / Edit Scheme puis sélectionnez la section Run.
  • Sélectionnez Info Tan et définissez le débogueur Aucun.
  • Exécutez le projet. Il doit fonctionner (sans débogueur)
  • Revenez à Modifier le schéma et sélectionnez le débogueur LLDB
  • Exécutez le projet. Ça fonctionne.

Vous devez peut-être en plus supprimer les données dérivées et faire Product / Clean

Philip J. Fry
la source
0

Avez-vous plusieurs utilisateurs connectés à votre machine? J'ai des comptes «personnels» et «professionnels» sur mon ordinateur portable. J'ai eu cette erreur lorsque j'essayais de déboguer à partir de mon compte personnel, mais j'avais laissé le simulateur en cours d'exécution dans mon compte professionnel. Quitter le simulateur dans l'autre compte a résolu mon problème.

bugloaf
la source
0

et une autre pour mémoire: (aucune des suggestions n'a fonctionné pour moi)

Lion de montagne: XCode 4.6.3

  • I moved the whole Application to Trashet supprimé à la suite d'autres dossiers
  • /Users/[USERNAME]/Library/Developer
  • /Users/[USERNAME]/Library/Caches/com.apple.dt.XCode
  • /Users/[USERNAME]/Library/Application Support/iPhone Simulator

  • redémarrer le système et réinstaller XCode

longi
la source
0

A également eu le même problème aujourd'hui. J'utilisais Xcode 4.6.3. J'ai fermé mon projet et l'ai ouvert dans Xcode 5 et il fonctionne parfaitement.

Etrange mais vrai

Mohit
la source
pour moi c'est une réponse car elle a résolu ma question ok
Mohit