Fehler beim Anhängen an die Prozess-ID Xcode

113

Hat jemand dieses Problem erlebt? Gestern kann ich meine App immer noch im Simulator ausführen, aber jetzt kann ich meine App nicht mehr ausführen, da Xcode diesen Fehler in der Konsole druckt:

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

Screenshot für Fehler

Ich habe versucht, neu zu installieren, diesen Beitrag zu verfassen und ein neues Projekt zu erstellen, habe aber kein Glück zurückgegeben. Kann jemand dieses Problem beheben?

Ich verwende Xcode 4.5 Preview 2 und versuche, iOS Simulator 6 auszuführen

Rendy
quelle
Ich glaube, ich habe genau das gleiche Problem ( stackoverflow.com/questions/11688720/… ) ... der angegebene Fehler lautet "Fehler beim Anhängen an Prozess-ID 0"
PierrOz
1
Ich habe hier eine mögliche Lösung beschrieben stackoverflow.com/a/12504712/647644
Lindemann
Wie haben Sie dieses Problem gelöst? Bitte sag es mir auch. Ich brauche wirklich die Lösung.
ios
Bitte sehen Sie die akzeptierte Antwort
Rendy
1
Ich würde Leuten empfehlen, die Antwort "Zurücksetzen des Inhalts und der Einstellungen im Simulator" zu versuchen, bevor sie die tatsächlich akzeptierte Antwort zum Ändern des Debuggers versuchen.
Dartacus

Antworten:

153

Das Zurücksetzen des Inhalts und der Einstellungen im Simulator hat bei mir funktioniert. Dies ist im Menü "iOS Simulator" verfügbar.

Robert Zahm
quelle
1
Hat bei mir nicht funktioniert. Zeigt immer noch einen schwarzen Bildschirm mit Statusleiste (sogar den Code bereinigt). Nachdem ich den Debugger wie von Imran erwähnt auf GDB geändert habe, wird meine App einwandfrei geladen.
user427969
1
Beenden Sie nach dem Zurücksetzen von Inhalten und Einstellungen den Simulator und starten Sie ihn erneut. Lief wie am Schnürchen.
Justinkoh
45

Gehen Sie zum Menü Produkt und suchen Sie dort das Menü Schema bearbeiten.

Wählen Sie im Fenster "Schema bearbeiten" die Option "Ausführen" auf der linken Seite des Bildschirms und ändern Sie dann auf der rechten Seite den Debugger von LLDB in GDB.

Imran
quelle
6
Ich habe LLDB in GDB geändert, aber danach wird immer "Anhängen an MYApp" und die folgenden Protokolle angezeigt. GNU gdb 6.3.50-20050815 (Apple-Version gdb-1822) (So 5. August 03:00:42 UTC 2012) Copyright 2004 Free Software Foundation, Inc. GDB ist freie Software, die von der GNU General Public License abgedeckt wird, und Sie sind es Sie können es unter bestimmten Bedingungen gerne ändern und / oder Kopien davon verteilen. Geben Sie "Kopieren anzeigen" ein, um die Bedingungen anzuzeigen. Es gibt absolut keine Garantie für GDB. Geben Sie "Garantie anzeigen" für Details ein. Diese GDB wurde als "x86_64-apple-darwin" konfiguriert.
iOS_Developer
8
Ich hatte zwei Simulatoren (5.1 und 6.0), beendete den xcode und setzte den Inhalt beider Simulatoren zurück ........ es ist seltsam, aber es hat bei mir funktioniert .... :-)
iOS_Developer
32
-1. Dies ist ein großer Rückschritt. Durch Zurücksetzen des Inhalts des Simulators wird das Problem behoben, ohne dass der Debugger geändert werden muss.
Ozz
2
@cdo Das Zurücksetzen von Inhalten hat bei mir nicht funktioniert. Der Simulator wurde
geändert.
4
Könnte helfen: Auch ich habe zu GDB gewechselt, die App einmal ausgeführt, mich dann wieder LLDB zugewandt und es hat wieder funktioniert! Sie müssen also nicht auf die Vorteile von LLDB verzichten! Versuche es.
Charles
22

Ich hatte das gleiche Problem und nach einer Weile stellte ich fest, dass es an der Tatsache lag, dass mein XCode-Projekt eine Ordnerreferenz auf einen Ordner namens Resources enthielt .

Es scheint, dass XCode diesen Namen nicht mag.

Das Entfernen des Ordnerverweises oder das Umbenennen des Ordners löste das Problem.

Mirko Luchi
quelle
1
Ich brauchte fast einen Tag, um das herauszufinden. #fail
Texas
1
Das hat bei mir funktioniert. Nach dem Umbenennen musste ich XCode und Simulator neu starten.
Suran
21

ZWEI METHODEN

Methode 1 : Im Ordner Anwendungsunterstützung -> iPhone Simulator -> In jeder Simulatorversion von iOS -> Anwendungen -> Alle hier vorhandenen Dateien löschen.

Gehen Sie nun zu Produkte -> Reinigen

Führen Sie es jetzt auf einem beliebigen Simulator aus und es wird funktionieren.

Methode 2 :

Tippen Sie auf Zurücksetzen

Ambili B Menon
quelle
2
Dies ist die einzige Methode, die bei mir funktioniert hat. Ich habe das Problem verursacht, indem ich einen meiner Ordnerressourcen benannt habe, und es hat mein Projekt beendet, fast hatte ein Herz angehängt. Apple sollte es wirklich besser machen.
Zack Morris
9

Schritt 1: Ping

$ ping localhost

Dies sollte so etwas wie zurückgeben

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

Wenn dies funktioniert, wird dieses Problem durch diese Antwort nicht behoben. Versuchen Sie etwas anderes.

Wenn Ping etwas anderes zurückgibt, zum Beispiel: ping: cannot resolve localhost: Unknown hostEtwas ist mit Ihrer /etc/hostsDatei vermasselt , fahren Sie mit Schritt 2 fort

Schritt 2: Überprüfen Sie / etc / hosts

Überprüfen Sie, ob der obere Rand Ihrer /etc/hostsDatei so aussieht

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

Wenn diese Einträge nicht in der Datei enthalten sind, geben Sie sie oben in die Datei ein, leeren Sie den DNS-Cache mit $ dscacheutil -flushcacheund kehren Sie zu Schritt 1 zurück , andernfalls fahren Sie mit Schritt 3 fort .

Schritt 3: Korrektes Dateiformat: Es sollte Unix oder LF * sein

$ file /etc/hosts

Dies sollte zurückkehren: /etc/hosts: ASCII English text

Wenn es so etwas wie zurückgibt /etc/hosts: ASCII English text, with CR line terminators hat die Datei das falsche Format und wird wahrscheinlich ignoriert.

Ändern Sie die Dateizeilenenden mit Ihrem bevorzugten Texteditor in Unix oder LF.

  • In Sublime Text 2 kann dies über das Ansichtsmenü erfolgen: Ansicht> Zeilenenden > Unix

Leeren Sie den DNS-Cache ( $ dscacheutil -flushcache) und kehren Sie zu Schritt 1 zurück

Absichten
quelle
Nachdem ich alles andere ausprobiert hatte, löste dies ENDLICH mein Problem! Vielen Dank!
Jonah
Ich hatte vor kurzem etc / hosts geändert, schlecht - danke für die Antwort
bdalziel
5

Ähnlich wie bei Fundtimers Antwort scheint die lokale Hosts-Datei der Schuldige gewesen zu sein.

/etc/hostsNach einer versehentlichen Änderung musste ich meine Berechtigungen auf den Standardwert zurücksetzen:

sudo chmod 644 /etc/hosts

Danach arbeitete Simulator / LLDB für mich.

amattn
quelle
In meinem Fall habe ich hinzugefügt, dass ich die Hosts-Datei so bearbeitet habe, dass sie die Adresse ':: 1 newlocaldomain.local'
subharb
5

Dies ist ein altes Thema, aber ich glaube, dass sich die Dinge für die neueste Version von macOS ein wenig geändert haben.

Ich bin auf das Problem gestoßen, als ich versucht habe, eine UI-Testsuite für eine iOS-App im Simulator unter macOS Mojave Beta und Xcode 9.4.1 auszuführen.

Es stellt sich heraus, dass unter macOS Mojave das codesignTool (das Teil des Betriebssystems selbst und nicht Teil der Befehlszeilentools oder des Xcodes ist) Prozesse in einer gehärteten Laufzeit signiert die die Durchsetzung der Laufzeitcodesignierung, die Validierung der Bibliothek, Hard, Kill, und Debugging-Einschränkungen. Zusammen mit dem Systemintegritätsschutz in macOS Mojave verhindert dies, dass der lldb-Debugger eine Verbindung zum laufenden Ziel herstellt.

Um dies zu beheben, müssen Sie folgende Optionen auswählen:

  1. Eine naheliegende ist wahrscheinlich, nur Xcode 10 zu verwenden. Es scheint die Verbindung ordnungsgemäß zu handhaben.

  2. Starten Sie das Betriebssystem im Wiederherstellungsmodus neu und deaktivieren Sie den Systemintegritätsschutz vom Terminal mit csrutil disable. Der Debugger verbindet sich dann glücklich.

Ich habe ziemlich viel Zeit damit verbracht, meinen Kopf darauf zu schlagen, und konnte alles lösen, nachdem ich den folgenden Artikel gelesen hatte: http://www.lapcatsoftware.com/articles/debugging-mojave.html

Nur meine zwei Cent. Hoffe das hilft jemandem.

Eploko
quelle
Aber das macht nur Sinn, wenn man auf dem Simulator (dh unter MacOS) läuft, oder? Ich bekomme den Fehler auf einem Gerät ausgeführt ...
Dylan Nicholson
... was sich herausstellte, weil ich die .app erst nach dem erneuten Signieren installiert habe. Nachdem ich die vollständige .ipa installiert hatte, war es in Ordnung.
Dylan Nicholson
4

Ich hatte irgendwie Datensätze aus meiner / etc / hosts-Datei entfernt oder gelöscht und bekam den gleichen Fehler. Sie sollten überprüfen, ob Sie in Ihrer Datei / etc / hosts die Zeile "127.0.0.1 localhost" haben. Das hat mir geholfen!

pedrouan
quelle
2
Vielen Dank. Ich hatte diesen Fehler und habe alles versucht, nichts hat funktioniert. Ich habe meine Hosts-Datei überprüft und sie war bis auf eine Zeile von Avast Antivirus leer. Avast hat tatsächlich über meine zuvor angepasste Hosts-Datei (WTH?) Geschrieben! Ich habe der Hosts-Datei die Zeile '127.0.0.1 localhost' hinzugefügt und sie gespeichert. Dann habe ich den iPhone-Simulator zurückgesetzt, ein "Clean" in Xcode durchgeführt und es wurde sofort gestartet, wenn ich die App das nächste Mal ausführte. Kein Avast mehr für mich.
Ryan
Ja, ich mag Avast auch nicht
Pedrouan
Ich habe eine Weile gebraucht, um herauszufinden, wie ich zum Hosts-Ordner komme. Wählen Sie im Finder das Menü "Gehe zu" und wählen Sie "Gehe zu Ordner ...". Geben Sie dann Folgendes ein: /private/etc/hosts.txt
Jonah
Eigentlich müssen Sie möglicherweise $ sudo / etc / hosts
eingeben
Ich weiß, das ist die Antwort von vor einem Jahr. Aber ich würde gerne wissen, ob es einen Unterschied zwischen '127.0.0.1 localhost' und '127.0.0.1 serverchat.local' gibt. Sollte ich die Datei serverchat.local entfernen und durch die Datei localhost ersetzen? Ratschläge bitte ...
Melvin Lai
4

Ich weiß, dass dies eine alte Frage ist, aber sie kam zuerst für mich, als ich eine Google-Suche nach "Fehler beim Anhängen an die Prozess-ID" durchführte. Ich verwende Xcode 7. Geschah nach der Veröffentlichung von iOS9 und der Aktualisierung meiner Swift-App für Swift 2.

Durch Löschen meiner App im Simulator und Ausführen eines neuen Builds und Ausführens wurde diese gelöscht.

Christopher Larsen
quelle
1
Ähnliches gilt auch hier, außer dass ich nur auf die App im Simulator geklickt habe und sie angezeigt wurde, aber dann Probleme beim Stoppen hatte. Am Ende habe ich einfach den Simulator zurückgesetzt.
MCB
2

Ich habe gerade die Anwendung aus dem Simulator entfernt (genau wie auf einem tatsächlichen Gerät), und als ich sie erneut ausführte, funktionierte alles einwandfrei.

Nic Foster
quelle
2

Ich habe auch das gleiche Problem und für mich ist die Lösung:

Löschen Sie einfach die App aus dem Simulator und löschen Sie das Projekt.

Möge es auch jemand anderem helfen.

Muhammad Rizwan
quelle
1

Ich habe dies gerade im Entwicklerforum gepostet. Es war eine einfache Lösung und kann hier jemandem helfen:

Ich hatte genau das gleiche Problem: Bei Verwendung einer aktuellen Version von Xcode 4.xx und des LLDB-Debuggers sowie einer beliebigen Version des Simulators stürzte XCode durchweg mit "Fehler beim Anhängen an den Prozess ..." ab. Meine einzige Lösung bestand darin, zu zu wechseln der GDB-Debugger. Dies war enttäuschend, da ich unbedingt die neue, robuste LLDB in XCode 4.6-DP ausprobieren wollte.

Und dann erinnerte ich mich; Ich hatte vor einiger Zeit meine Netzwerk- / Server-Hostdatei unter ... etc / hosts geändert, um mehrere virtuelle Apache2-Server-Hosts aufzunehmen, dh ich habe die Zeile entfernt:

127.0.0.1 locahost

Das war's. Beim Entfernen dieser Zeile stürzte XCode beim Anhängen an den Simulator mit LLDB ab. Bei der Wiederherstellung dieser Zeile funktionierte XCode einwandfrei mit LLDB und dem Simulator.

Auf jeden Fall ist dies nicht Ihr Problem, aber es lohnt sich, es zu erkunden. Für mich ist es ein schwerwiegender undokumentierter Fehler.

Fundtimer
quelle
1

Ich hatte das gleiche Problem beim Debuggen auf dem Gerät. Die App stürzte beim Start ab, wurde jedoch nicht als laufender Prozess angezeigt.

Meine Lösung besteht darin, eine Prozessbetrachter-App zu verwenden (z. B. Systemstatus oder ähnliches). Suchen Sie Ihre veraltete App und dann die übergeordnete Prozess-ID, die normalerweise Debugserver ist .

Gehen Sie zu Xcode, Produkt -> An Prozess anhängen -> Nach Prozess-ID und an die Debugserver- Prozess-PID anhängen . Warten Sie eine Sekunde und drücken Sie dann die Stopp- Taste.

Die veralteten Debugserver- und App-Prozesse verschwinden.

(Bei Verwendung des Simulators besteht das Äquivalent darin, das Terminal ps zu verwenden und den App-Prozess abzubrechen. Das habe ich jedoch nicht versucht.)

Ramon Poca
quelle
Ich bin auf diesen Fehler gestoßen, bevor und nachdem ich in der letzten halben Stunde meinen Kopf dagegen geschlagen habe. Dies führte zu meiner Lösung. Vielen Dank Mann. '
Gowiem
1

In meinem Fall war die Lösung anders: Der Ausführungsmodus war "Release". Der Wechsel zu "Debug" hat das Problem behoben. Xcode 4.5.x hatte kein Problem damit.

orip
quelle
1

Das Problem wurde für mich durch einen ziemlich dummen Fehler verursacht: Ich habe ein neues Ziel für mein Projekt erstellt, indem ich ein vorhandenes Ziel dupliziert habe, und vergessen, die Bundle -ID in der Datei info.plist des Ziels zu ändern.

mwidmann
quelle
1

Ich habe dieses Problem behoben, indem ich den von Xcode abgeleiteten Dateninhalt entfernt habe.

Drücken Sie im Finder UMSCHALT + CMD + G, geben Sie den folgenden Pfad ein und entfernen Sie alle Daten in DerivedData:

  ~/Library/Developer/Xcode/DerivedData

Geben Sie hier die Bildbeschreibung ein

Setzen Sie auch Simulator-Builds zurück

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

Die obige Antwort hat mir wirklich geholfen. https://stackoverflow.com/a/12819757/1752988 Da ich in meinem XCode Storyboard und benutzerdefinierten Ansichts-Controller verwendet habe. und in seiner Warnliste, dass ich gesehen habe, dass einige der NIB-Dateien fehlen. Ich wurde vermisst, als ich das sah. Ich habe diese Antwort jedoch gesehen und obwohl ich meinen App-Simulator-Inhalt nicht zurücksetzen wollte, habe ich es getan und es hat wirklich für mich funktioniert.

Und auch das Ändern des Debuggers von Produkt -> Schema -> Schema bearbeiten (Ausführen) von LLDB zu GDB hat bei mir nicht funktioniert.

Ps: - Verzeihung, ich habe diese Antwort als Unterstützungskommentar zu oben hinzugefügt, da ich nicht 15 Reputationen habe, die die obige Antwort positiv bewerten, oder 50 Reputationspunkte, die ich oben kommentieren kann.

Randika Vishman
quelle
1

Ich habe dieses Problem gelöst, indem ich XCode und Simulator beendet habe. Öffnen Sie das Projekt erneut. Getan.

Jayprakash Dubey
quelle
1

Folgendes hat für mich unter iOS 9.1 funktioniert:

  1. Deinstallieren Sie einfach die App vom Simulator
  2. Beenden Sie den Simulator (Cmd + Q)
  3. Bereinigen Sie Ihr Xcode-Projekt
  4. Auf Simulator ausführen

Hinweis: Der Simulator muss nicht zurückgesetzt werden.

Arjun Shukla
quelle
1

Ich arbeite an einer Ionic 2-Anwendung, ich bin neu in dieser und sogar in Xcode und Simulator.
Ursprünglich arbeitete meine App am Simulator, aber nach einiger Zeit erzeugte sie Fehler wie:
xcode-Fehler generiert: Fehler beim Anhängen an die Prozess-ID

Ich habe nach allen oben genannten Antworten gesucht, sie ausprobiert, aber mein Problem wurde nicht behoben.
Dann habe ich mein Maschinen-Setup aktualisiert ( Ionic , npm , cordova ).

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



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

Danach führe ich einfach einen Befehl aus meinem Anwendungsverzeichnis aus

  1. Ionenlauf -l
  2. ionischer Aufbau ios.
  3. importierter xcode ändert sich in xcode.
  4. Inhalt zurücksetzen und einstellen
    Geben Sie hier die Bildbeschreibung ein
  5. klares Produkt von xcode,
    Geben Sie hier die Bildbeschreibung ein
  6. Führen Sie Xcode aus und jetzt arbeitet es am Simulator.

Freut mich das zu sehen !!!

S. Yadav
quelle
1

So viele Antworten darauf und ich habe nicht gesehen, was ich für richtig halte. Es ist ein Problem mit der Autorisierung. Geben Sie dies in das Terminal ein:

sudo DevToolsSecurity -enable

Crewshin
quelle
1

Gehen Sie unter Xcode 9+ wie folgt vor: Gehen Sie zum Xcode-Menü: Produktschema - Schema bearbeiten und stellen Sie auf der Registerkarte Ausführen sicher, dass das Kontrollkästchen Debug Executable aktiviert ist! Das ist es!

Geben Sie hier die Bildbeschreibung ein

joan
quelle
Seltsamerweise ist es für mich das Deaktivieren des
Kontrollkästchens, damit
0

Setzen Sie einfach den Inhalt und die Einstellungen des iOS-Simulators zurück und bereinigen Sie den Code, indem Sie Befehlstaste + Umschalt + k drücken, um den Code zu bereinigen. Dies hat bei mir funktioniert

Wüstenrose
quelle
0

So lahm es auch ist, der Neustart meines Computers war die einzige Lösung, die funktionierte. Ich habe versucht, von LLDB zu GDB zu wechseln, den Inhalt des Simulators zurückzusetzen und Xcode neu zu starten. Das einzige, was funktionierte, war, meinen Computer neu zu starten, Xcode erneut zu öffnen und die App erneut auszuführen.

Jeff Grimes
quelle
0

Ich hatte das gleiche Problem. Ich habe einige Kombinationen von Antworten gegeben, damit es funktioniert. :) :)

Bereinigen Sie den Build-Ordner, indem Sie in der Menüleiste auf "Produkt" klicken. Klicken Sie bei gedrückter Alt-Taste auf "Build Build Folder". Starten Sie nun Ihren Xcode und Simulator neu. Jetzt sollte es funktionieren. Wenn nicht, ändern Sie auch die Bundle-ID und den Simulator "Content Reset" und starten Sie xcode und simulator neu.


quelle
0

Bin heute darauf gestoßen. Ich habe versehentlich meine Startbilder aus meinen Zieleinstellungen entfernt.

PWiggin
quelle
0

Versuchen Sie, die nächsten Schritte auszuführen:

  • Gehen Sie zu Produkt / Schema / Schema bearbeiten und wählen Sie den Abschnitt Ausführen.
  • Wählen Sie Info Tan und setzen Sie Debugger None.
  • Führen Sie das Projekt aus. Es muss funktionieren (ohne Debugger)
  • Gehen Sie zurück zu Schema bearbeiten und wählen Sie den Debugger LLDB aus
  • Führen Sie das Projekt aus. Es funktioniert.

Möglicherweise müssen Sie zusätzlich abgeleitete Daten löschen und Product / Clean ausführen

Philip J. Fry
quelle
0

Haben Sie mehrere Benutzer an Ihrem Computer angemeldet? Ich habe "persönliche" und "berufliche" Konten auf meinem Laptop. Ich habe diesen Fehler erhalten, als ich versucht habe, von meinem persönlichen Konto aus zu debuggen, aber ich habe den Simulator in meinem Arbeitskonto laufen lassen. Das Beenden des Simulators im anderen Konto hat mein Problem behoben.

Bugloaf
quelle
0

und noch einer für die Aufzeichnung: (keiner der Vorschläge hat für mich funktioniert)

Berglöwe: XCode 4.6.3

  • Ich moved the whole Application to Trashund nach anderen Ordnern gelöscht
  • /Users/[USERNAME]/Library/Developer
  • /Users/[USERNAME]/Library/Caches/com.apple.dt.XCode
  • /Users/[USERNAME]/Library/Application Support/iPhone Simulator

  • Starten Sie das System neu und installieren Sie XCode neu

Longi
quelle
0

Hatte heute auch das gleiche Problem. Ich habe Xcode 4.6.3 verwendet. Ich habe mein Projekt geschlossen und in Xcode 5 geöffnet und es läuft perfekt.

Komisch aber wahr

Mohit
quelle
Für mich ist es eine Antwort, weil es meine Frage ok gelöst hat
Mohit