Seit ich auf die neueste Xcode-Version 11.0 (11A420a) aktualisiert habe, ist das Debuggen extrem langsam und umständlich.
BEARBEITEN: Nach dem Update auf 11.1 GM (11A1027) ist das Problem immer noch dasselbe.
Das Kompilieren und Ausführen eines Projekts im Simulator oder auf einem Gerät ist kein Problem. Beim Erreichen eines Haltepunkts wird Xcode jedoch mehr oder weniger unbrauchbar:
- Die Programmausführung stoppt sofort, wenn der Haltepunkt erreicht ist. Xcode benötigt jedoch bis zu 30 Sekunden, um die Position im Codefenster anzuzeigen, und eine weitere Minute, um den Inhalt der Variablenansicht zu laden (die die Werte und Zustände der am Haltepunkt verfügbaren Variablen anzeigt).
- Wenn ich die Funktionen " Schritt in" oder " Schritt über" verwende , dauert es bis zu einer Minute, um den nächsten Schritt auszuführen, und erneut eine weitere Minute, um die Variablen zu laden.
Ich verwende Xcode auf einem Mac mini 2018 mit einem 3,2-GHz-i7- und 32-GB-RAM. Ich habe Xcode 10 zuvor ohne Probleme auf demselben Computer verwendet.
Die Suche nach "Xcode langsam" bringt natürlich eine Menge Threads und mögliche Lösungen hervor. Aus meinen Jahren als iOS-Entwickler weiß ich, dass Xcode nie das schnellste und stabilste Programm war. Es war jedoch nie so schlimm wie jetzt.
Leider hatte keiner der bekannten Tricks (Neustart von Xcode oder Mac, Bereinigen des Projekts, Bereinigen der Ordner der Xcode-Bibliothek usw.) Auswirkungen.
Die große Frage ist also:
Ist dies ein bekanntes Problem in Xcode 11? Gibt es bekannte Lösungen?
Antworten:
Nun, ich hatte das gleiche Problem und habe kürzlich herausgefunden, dass ich nur vergessen habe, die Diagnose für mein Schema zu deaktivieren
Öffnen Sie Ihre Laufkonfigurationen -> Schemata verwalten -> Schema bearbeiten -> Ausführen -> Registerkarte Diagnose
quelle
Ich habe einige Leistungsverbesserungen bei der Verwendung des Verhaltens "Ganzes versus inkrementelles Kompilieren" festgestellt. Darüber hinaus sollten beim Ausführen von Mojave und Catalina Leistungsprobleme auftreten. Insbesondere da die Canvas-Vorschau und andere neue Funktionen mehr CPU-Intensität erfordern als die letzte Version von Xcode, würde ich erwarten, dass die Mojave-Leistung bei Verwendung von Xcode 11 geringer ist (da diese nicht für diese Version des Betriebssystems optimiert ist). Da Catalina in der Beta ist, würde ich weitere Probleme erwarten. Ich habe keine anderen spezifischen Maßnahmen als den Sehtest ergriffen. Der erste Lauf von Whole Compilation ist langsam, scheint danach jedoch besser zu werden.
Schnelle Hilfe besagt:
quelle
Haben Sie versucht, Xcode im abgesicherten Modus auszuführen? Es ist nicht ideal, aber nur so konnte ich es effizient laufen lassen. Dies ist bis zum letzten Catalina-Update der Fall, bei dem mein Gerät im abgesicherten Modus nicht mehr erkannt wird. Also bin ich jetzt wieder auf dem ersten Platz.
quelle
Ich habe die gleichen Probleme in zwei verschiedenen Fällen gefunden:
1) Die App wird nicht von Xcode gestartet, dh das Flag "Warten auf den Start der ausführbaren Datei" wird im Infofenster der Scheme Run-Einstellungen gesetzt.
2) In den Schemaeinstellungen ist die Option "Aufgrund eines Hintergrundabrufereignisses starten" ausgewählt (dies ist jedoch nicht die Standardeinstellung).
Xcode 11.2.1 (11B500)
quelle
In meinem Fall (XCode 11.x, MacOS 10.15.2) habe ich festgestellt, dass die extreme Langsamkeit des Debuggers nur ausgelöst wird, wenn ich einen Schritt mache, während ein weiterer Einzelschritt ausgeführt wird , dh ich drücke die Schritttaste zu schnell. Meine derzeitige Problemumgehung besteht darin, dies zu vermeiden.
Reine Spekulation, aber vielleicht wird sie von XCode / LLDB ausgelöst, der versucht, mehrere Haltepunkte gleichzeitig zu bedienen? Versuchen Sie, alle Haltepunkte bis auf einen zu entfernen, und prüfen Sie, ob dies hilfreich ist.
Falls es relevant ist: Ich arbeite hauptsächlich mit C ++ in XCode, mit ein wenig Obj-C hier und da. Ich benutze Swift derzeit überhaupt nicht.
quelle
Deaktivieren Sie bitte: Build auf jedem Ziel im Bearbeitungsschema parallelisieren . Das Erstellen spart Zeit, wenn Ihr Projekt viele Ziele hat.
Bearbeitungsschema:
quelle
Ich habe mich schon immer damit beschäftigt und es endlich herausgefunden. Es waren diese Zeilen in meiner ~ / .lldbinit-Datei:
Ich habe diese Zeilen auskommentiert und jetzt ist es fast so schnell wie ohne den Debugger!
quelle