In diesem Handbuch werden wir einige mögliche Ursachen identifizieren, die das Debuggen des jeweiligen xcode 4-Quellcodes verursachen können, und dann mögliche Lösungen vorschlagen, die Sie versuchen können, dieses Problem zu beheben.
Genehmigt: Fortect
Ihre Privatsphäre
Indem Sie auf Alle Cookies akzeptieren klicken, stimmen Sie zu, dass Stack Exchange Cookies für Ihr Gerät speichert und Informationen gemäß unserer Cookie-Richtlinie offenlegt.
Xcode bietet Entwicklern eine ausgereifte Designumgebung mit einem leistungsstarken Debugger. Unter der Haube respektieren die Debugging-Tools von Xcode LLDB, den Hauptdebugger für LLVM-Projekte. Sie müssen kein vollständiges tiefes Verständnis von LLDB oder LLVM haben, um die Debug-Elemente von Xcode zu verwenden, aber es ist sicherlich nicht anstößig, sich mit LLDB und LLVM vertraut zu machen.
Cloud-Debugging
In einer separaten Summe werfen wir einen Blick auf die Xcode-Debugging-Tools, die wir zum Debuggen von Cloudy verwenden, der portablen App, die wir in Mastering MVVM with Swift erstellen. Laden Sie die App herunter, wenn Sie sich anmelden möchten.
Sie können ein Paket nur debuggen, wenn es in einer Simulation und auf einem Gerät ausgeführt wird. Wenn Sie das Dienstprogramm aufrufen, wird der Ansatz instanziiert. Normalerweise bezeichnen wir eine bestimmte Instanz als Prozess und es ist process.ssom, das wir während der Entwicklung debuggen. Anwendungs- und darüber hinaus Prozess-Schlüsselwörter wurden traditionell synonym verwendet. Es ist gut, wenn Ihr Unternehmen den Unterschied versteht.
Wenn Sie eine Verwendung in Xcode starten, wird der spezifische Debugger automatisch gestartet und an alle Anwendungsprozesse angehängt. Klicken Sie in der oberen linken Ecke auf die Schaltfläche Ausführen oder drücken Sie Befehl + R. Während die Anwendung oben funktioniert und wir sicherlich mit der Untersuchung des Prozesses beginnen könnten, gehe ich davon aus, dass der Prozess debuggt wird, wenn er wichtig ist. p>
Debug-Bereich
Das erste Update, das Sie bemerken werden, wenn der Plan ausgeführt wird und der Xcode-Debugger emotional in den gesamten Prozess seiner Anwendung involviert ist, ist der Debug-Bereich unten. Was Sie meinen, hängt davon ab, wie Ihre eigene Xcode-Installation eingerichtet ist, aber Sie möchten vielleicht zumindest die Debug-Anzeigeleiste sehen, während Sie den unteren Rand des Fensters besuchen.
Wenn es nichts zu melden oder zu debuggen gibt, ist diese einzigartige Änderung oft unsichtbar. Beim Debugging mit Breakpoints werfen wir einen genaueren Blick auf das Debug-Panel in der Inzidenz.
Wir können die Ansicht der Variablen im Fernsehen anzeigen oder ausblenden und dann die Konsole anzeigen, indem wir einfach auf das mittlere Ansichtssteuerelement klicken, wenn es sich in der oberen rechten Ecke befand, vielleicht durch Klicken auf eine unserer Schaltflächen ganz links mit der Debug-Leiste.
Zweifellos ist die Variablenprüfung derzeit leer, da Ihre aktuelle Bewerbung noch nicht einmal pausiert wurde. Dies wird später aus dieser Veröffentlichung deutlich. Die Konsole zeigt diese Ausgabe an, die von Xcode und einer häufig ausgeführten Anwendung erstellt wurde. Die Koordinaten, die zum Beispiel auf die Konsole gedruckt werden, sind sehr weit von den Druckanleitungen im Projekt entfernt.
drucken (" (Breite), (Länge)")
Das Drucken eines zusätzlichen Anweisungstagebuchs ist für Debugging-Zwecke äußerst nützlich. Dies ist eine einfache, grundlegende Form des Debuggens, die normalerweise die ganze Zeit erfordert.
Anwendung unterbrechen
Die zweite Schaltfläche meiner Debug-Leiste ermöglicht es uns, Deaktivierungen oder vielleicht sogar Breakpoints anzugeben, die in einem bestimmten Projekt oder Arbeitsbereich definiert sind. Wir werden bald Breakpoints in dieser Serie finden. Pause
Die Schaltfläche
pausiert und beendet den Bewerbungsablauf. Sie kümmern sich oft nicht um Ihre primäre Familie. Es ist besser, die Anpassung zu unterbrechen, indem Sie jedes Mal einen anderen Punkt o tanova anwenden oder wenn einige Bedingungen erfüllt sind. Bitte beachten Sie, dass Sie leider sehen, dass sich der Pause-Button in einen Wett-Button verwandelt, wenn die App pausiert wird. Dies ermöglicht uns im Hinblick auf die Fortsetzung des Bewerbungsverfahrens.
Sie werden höchstwahrscheinlich die drei Schaltflächen rechts neben der Pause-Schaltfläche ignorieren. Wir werden auf diesen Ansatz zurückkommen, wenn wir die Breakpoints detailliert beschreiben.
Debug-Ansichtshierarchie
Die nächste Schaltfläche ist viel interessanter. Wenn wir auf dieses Tool klicken, hält die Anwendung Xcode an und zeigt uns ihre bereitgestellte Version der Benutzeroberfläche eines beliebigen Softwareprogramms. Dies ist der Get-Debugger, der über Xcode ausgeliefert wird.
Es zeigt uns auch die Ansichten der Anwendung im Vergleich zu den Ansichtscontrollern, denen für die Verarbeitung von Informationen vertraut wird. View ist während des Debuggens sehr nützlich, wenn es um das Debuggen im Zusammenhang mit dem System des Benutzers geht. Untersuchen Sie diesen Aspekt bezüglich des Debuggens in einer zukünftigen Version ausführlicher.
Wenn Sie sich noch in der Debug-Vision-Hierarchie befinden, ist die Anwendung tatsächlich angehalten und neigt zum Debuggen. Ich bin eine Momentaufnahme davon, dass sie wirklich aktiv ist. Wir können den Viewpoint-Debugger beenden, indem wir im genauen Debug-Panel auf die entsprechende Schaltfläche Weiter klicken.
Debug-Speicher
Vor einigen Jahren hat Apple eine weitere Debug-Zeit für den Debug-Xcode, das Speicherplatzdiagramm aus dem Anwendungsprozess, hinzugefügt. Dies wird sich wahrscheinlich als sehr hilfreich bei der Erkennung von Speicherkomplikationen wie Speicherzyklen oder Speicherlecks mit wahlfreiem Zugriff erweisen.
Wenn Sie auf diese Schaltfläche klicken, wird die Anwendung angehalten und der Debugger erfasst ein mit dem Prozess verknüpftes Speicherdiagramm. An diesem Beispiel finden wir nichts Interessantes. In der nächsten Folge zeige ich Ihnen tatsächlich, wie Sie dieses Tool verwenden, das Ihnen hilft, Aufbewahrungszeiten und andere Speicherprobleme zu bestimmen.
Simulation der Neupositionierung
Entwickler nehmen sich ständig Zeit, um Code zu schreiben, um Desktop-PCs zu unterstützen, was es schwierig macht, Lokalisierungsdienste zu debuggen. Dies wird ein wenig einfacher, da Xcode wahrscheinlich Standortänderungen simuliert.
Genehmigt: Fortect
Fortect ist das weltweit beliebteste und effektivste PC-Reparaturtool. Millionen von Menschen vertrauen darauf, dass ihre Systeme schnell, reibungslos und fehlerfrei laufen. Mit seiner einfachen Benutzeroberfläche und leistungsstarken Scan-Engine findet und behebt Fortect schnell eine breite Palette von Windows-Problemen - von Systeminstabilität und Sicherheitsproblemen bis hin zu Speicherverwaltung und Leistungsengpässen.
Dies ist wichtig, damit Kunden Standorte für eine kompetente Debug-Sitzung simulieren können. Sie können auch fast jede GPX-Datei hosten, um mehrere Site-Erweiterungen zu simulieren. Dies ist beispielsweise nützlich, um eine Bewegung um einen Block oder einen Lauf zu reproduzieren. Die Sims bieten auch Unterstützung für die Simulation von Standortverschiebungen.
Haltepunkt hinzufügen
Wir werden uns die Breakpoints in einem späteren Event der Serie genauer ansehen. Leider möchte ich Ihnen im Folgenden einen kurzen Überblick über diesen speziellen Breakpoint-Browser geben. Natürlich können Sie einen echten Breakpoint hinzufügen, indem Sie in allen Quellspuren mit der linken Maustaste auf den Bundsteg klicken. Der Haltepunkt wird durch einen azurblauen Pfeil dargestellt.
Wenn wir diese App erneut starten, pausiert Xcode die App, sobald sie einen Haltepunkt erreicht. Beachten Sie, dass ein Großteil der Variablenanalyse jetzt von Informationen begleitet wird. Wir werden diesen Aspekt später in dieser Art von Serie verstärken.
Über die Konsole können wir uns mit LLDB verbinden. Der Befehl po
übersetzt in die Verwendung eines Objekts und gibt das Objekt zurück, um Ihnen bei der Konsole zu helfen.
Ein Projekt- oder Positionsbereich kann Dutzende von Achsenpunkten enthalten. Eine schöne Vorschau findet ihr im Xcode Breakpoint Browser auf der linken Seite. Dies macht es einfacher, Breakpoints zu schützen und zu deaktivieren, um sie an eine bestimmte Position des Breakpoints zu übergeben, die für Sie benötigt wird.
Der Lernressourcen-Editor enthält auch Informationen, wenn ein Haltepunkt erreicht wird. Wenn Sie für level mit der Maus über eine lokale Variable fahren, kann jeder ihren Wert leicht überprüfen. Während es spannend ist, ist die variable Ansicht bequemer und Sie werden es am meisten üben.
Debug-Browser
Die Anwendung ist noch aktiv, da ein guter Breakpoint gefunden wurde. Weitere Informationen zum modernen Status der Anwendung finden Sie unter Debug-Browser-Inhalt im Thema auf der rechten Seite.
Sie finden die Debug-Funktionen oben und den Prozess unten. Debug-Flags sagen Ihnen, dass diese Ressourcen von der Anwendung ausgewählt werden. Dies ist jetzt am nützlichsten, wenn das Dienstprogramm ausgeführt wird.
Jetzt ist die Sicht auf den Prozess viel spannender. Es zeigt uns eine spezifische Spur einer Anwendung, die nach dem Thread-Prozess organisiert ist. Die App verwendet mehrere Threads, um ihren Job zu schreiben, und wurde in letzter Zeit in Thread 1 ausgesetzt, dem ersten Thread.
Jede Zeile ist mit ziemlicher Sicherheit ein Stapelrahmen. Der aktuelle Stack-Modus ist unterstrichen und entspricht dem von uns bereitgestellten Breakpoint-Bereich. Beteiligen Sie sich nicht, wenn Sie mit Stack-Images nicht vertraut sind. Wir werden später mehr über Stapelfensterrahmen sprechen.
Debug-Optionen
In dieser Situationsfolge möchte ich dir auf jeden Fall noch etwas zeigen. Am Anfang der Episode habe ich dies beschrieben, damit sich der Debugger automatisch in den aktuellen Bewerbungsprozess einfügt. Dies ist normalerweise die Standardeinstellung. Es ist auch möglich, einen wichtigen Debugger an einen gefundenen Prozess anzuhängen.
Sie fragen sich möglicherweise, warum dies nützlich ist. Dies wird wahrscheinlich interessant, wenn Sie in Ihrer Anwendung die letzte Notlage finden, bei der Ihr rrs-Gerät ohne Frage einfach nicht mit Ihrem Computer verbunden ist oder Xcode nicht verwendet wird. Viele Fehler treten auf, wenn Sie sich nicht in Ihrem elektronischen Computersystem befinden. Ist es nicht?
Lassen Sie mich Ihnen verschiedene Funktionen zeigen, die auf der Cloudy-Version basieren, die in unserem eigenen Simulator ausgeführt wird. Wir starten die Anwendung zusätzlich und wählen aus dem Xcode Debug-Menü Wählen Sie Attach to Process aus.
Xcode hilft uns, indem es Ihnen oben einige wahrscheinliche Ziele anzeigt. Wenn wir uns für einen Prozess entscheiden. Uns interessiert alles, der Stop-Button ist aktiviert, was bedeutet, dass der Debugger wiederum an den Prozess angehängt wird. Mal sehen
, aber gehen Sie noch einen Schritt weiter. Xcode 9 fügt drahtlose Unterstützung für das Debuggen hinzu. Dies bedeutet, dass Sie Ihre Anwendung auf einem physischen Produkt anbieten können, ohne dass eine Verbindung erforderlich ist. Das ist großartig und beinhaltet, dass Entwickler auch jede Art von Debugger an eine laufende Anwendung anhängen müssen, die auf dem Programm ausgeführt wird. Denken Sie daran, dass Sie nur Ihre firmrrrs-eigenen Anwendungen debuggen können.
Die App, mit der ich derzeit den Debugger verbinde, ist definitiv eine Cloudy-Instanz, die auf einem Gerät läuft, geschweige denn ein Papier, das für meinen Entwicklungscomputer relevant ist. Es ist einfach sehr passend, wenn Sie nach meiner Vision fragen. Dies bedeutet, dass es einfacher ist, zufällige Fehler zu debuggen, Fehler sind schwer zu reproduzieren, bis auf eine Angelegenheit.
Und dann
Sie haben vielleicht bemerkt, dass die Variationen der Benutzeroberfläche von Xcode beim Starten der Anwendung und auch beim Debuggen der Anwendung verwendet werden. Xcode zeigt uns das Beste basierend auf den aktuellen Bedingungen und Krankheiten. Sie können dies zu etwas Besonderem machen, indem Sie mit Xcodes mit Präferenzen und Verhaltensweisen umgehen. Was ist mein Partner und was werde ich mir später anschauen.
Wir werden ein wenig über die Debugging-Tools von Xcode lernen, aber Sie sollten sich immer mit einigen der Tools vertraut machen, die uns Xcode zum Debuggen von Anwendungen zur Verfügung stellt. In der Art der nächsten Episode werden wir tiefer in das Debuggen von funktionierenden Breakpoints eintauchen. Flexible Krawatten sind vielseitig und effektiv. Das Debuggen von Haltepunkten ist eine großartige Technik, die neben der Zeit auch den Moment verwendet.
Beschleunigen Sie jetzt die Leistung Ihres Computers mit diesem einfachen Download.