Ich habe Haltepunkte gesetzt, aber Xcode scheint sie zu ignorieren.
Ich habe Haltepunkte gesetzt, aber Xcode scheint sie zu ignorieren.
Antworten:
Erstens stimme ich zu 100% den früheren Leuten zu, die sagten, ausschalten Load Symbols Lazily
.
Ich muss noch zwei Dinge hinzufügen.
(Mein erster Vorschlag klingt offensichtlich, aber als mich jemand zum ersten Mal vorschlug, ging meine Reaktion folgendermaßen vor: "Komm schon, bitte, du denkst wirklich, ich würde es nicht besser wissen ... oh.")
Stellen Sie sicher, dass Sie "Active Build Configuration" nicht versehentlich auf "Release" gesetzt haben.
Klicken Sie unter "Ziele" in der grafischen Baumanzeige Ihres Projekts mit der rechten Maustaste auf Ihr Ziel und führen Sie "Informationen" aus. Suchen Sie nach einer Eigenschaft mit dem Namen "Debug-Symbole generieren" (oder ähnlichem) und stellen Sie sicher, dass diese überprüft ist (auch bekannt als ON). Sie können auch versuchen, (auch in Target >> Get Info) eine Eigenschaft namens "Debug Information Format" zu finden und auf "Dwarf with dsym file" zu setzen.
Unter Ziel >> Informationen abrufen gibt es eine Reihe weiterer Eigenschaften, die sich auf Sie auswirken können. Suchen Sie nach Dingen wie dem Optimieren oder Komprimieren von Code und schalten Sie diese aus (ich gehe davon aus, dass Sie in einem Debug-Modus arbeiten, damit dies kein schlechter Rat ist). Suchen Sie auch nach Dingen wie dem Entfernen von Symbolen und stellen Sie sicher, dass diese ebenfalls ausgeschaltet ist. Beispielsweise sollte "Strip Linked Product" für das Debug-Ziel auf "No" gesetzt werden.
In Xcode 7 funktionierte für mich Folgendes:
1) Stellen Sie sicher, dass sich das Ziel -> Schema -> Ausführen - im Debug-Modus befindet (war Release).
2) Stellen Sie sicher, dass die Option "Debug ausführbare Datei" aktiviert ist (siehe unten):
Gehen Sie zu den Xcode-Debugging-Einstellungen. Stellen Sie sicher, dass "Symbole träge laden" NICHT ausgewählt ist.
Ich hatte gerade das gleiche Problem (wieder). Nachdem ich dreimal "Symbole träge laden" überprüft und die Flags zur Generierung von Info-Strippings entfernt und debuggt hatte, habe ich Folgendes getan:
Sie können dieselbe Aufgabe im Finder ausführen, indem Sie mit der rechten Maustaste / Option auf das .xcodeproj-Bundle klicken und "Paketinhalt anzeigen" auswählen.
Als ich Xcode neu startete, wurden alle meine Fenster auf Standardpositionen usw. zurückgesetzt, aber Haltepunkte funktionierten!
Ein anderer Grund
In DeploymentPostprocessing
BuildSettings auf NO setzen - Details hier
Zusamenfassend -
Wenn Sie diese Einstellung aktivieren, sollten die Binärdateien entfernt und die Informationen zu Dateimodus, Eigentümer und Gruppe auf Standardwerte gesetzt werden. [DEPLOYMENT_POSTPROCESSING]
YES
nur in meinem subproject
und dann funktionierten Haltepunkte nicht subprojects
. Und nach dem Einstellen NO
war es perfekt!
Siehe diesen Beitrag: Haltepunkte funktionieren nicht in Xcode? . Möglicherweise drücken Sie "Ausführen" anstelle von "Debuggen". In diesem Fall wird Ihr Programm nicht mit Hilfe von gdb ausgeführt. In diesem Fall können Sie nicht erwarten, dass Haltepunkte funktionieren!
Eine der möglichen Lösungen hierfür könnte sein: Gehen Sie zu Produkt> Schema> Schema bearbeiten> .. Unter Ausführen> Info> Ausführbare Datei aktivieren Sie "Debug ausführbare Datei".
Dies hatte mich für einen halben frustrierenden Tag in Xcode 9. Es war eine einfache Debug-Einstellung.
Gehen Sie zu Debug> Debug Workflow und stellen Sie sicher, dass "Disassembly immer anzeigen" deaktiviert ist. So einfach ist das. :((
Kam auf diese Seite mit dem gleichen Problem (C-Code in Xcode 6 stoppte nicht an Haltepunkten) und keine der oben genannten Lösungen funktionierte (das Projekt war praktisch sofort einsatzbereit, was die Einstellungen angeht, so dass die Debugger-Einstellungen kaum eine Chance hatten auf den falschen Wert eingestellt sein) ...
Nachdem ich einige Zeit damit verbracht hatte, das Problem zu reduzieren, fand ich endlich den Schuldigen heraus (für meinen Code):
Xcode (/ LLVM) mag keine #line
Präprozessorbefehle im Bison-Stil .
Durch das Entfernen wurde das Problem behoben (der Debugger wurde an meinen Haltepunkten gestoppt).
Ich habe viele Probleme mit Haltepunkten in Xcode (2.4.1). Ich verwende ein Projekt, das nur andere Projekte enthält (wie eine Lösung in Visual Studio). Ich finde manchmal, dass Haltepunkte überhaupt nicht funktionieren, es sei denn, im Startprojekt ist mindestens ein Haltepunkt festgelegt (dh derjenige, der den Einstiegspunkt für meinen Code enthält). Wenn sich die einzigen Haltepunkte in Projekten auf "niedrigerer Ebene" befinden, werden sie einfach ignoriert.
Es scheint auch so, als ob Xcode Haltepunktoperationen nur dann korrekt verarbeitet, wenn Sie im Projekt, das die Quellzeile enthält, auf der sich der Haltepunkt befindet, auf den Haltepunkt einwirken.
Wenn ich versuche, Haltepunkte über ein anderes Projekt zu löschen oder zu deaktivieren, wird die Aktion manchmal nicht wirksam, obwohl der Debugger dies anzeigt. Ich werde mich also an deaktivierten Haltepunkten oder an einem (jetzt unsichtbaren) Haltepunkt befinden, den ich zuvor entfernt habe.
Ich habe meine Haltepunkte nicht funktionieren lassen und dann "Alle Ziele erstellen / bereinigen" ausgeführt, damit sie wieder funktionieren.
Ich denke, das Problem könnte die Inkompatibilität zwischen Geräteversionen und Xcode sein. Ich habe dieses Problem beim Versuch, auf meinem iPhone 4S unter iOS 5.0.1 zu debuggen. Ich benutze immer noch Xcode 3.2.5. Ich habe die Symbole vom Mobilteil erhalten, indem ich im Organizer-Fenster "Dieses Gerät für die Entwicklung verwenden" ausgewählt habe. Dieses Telefon weigert sich jedoch, einen Haltepunkt zu setzen. Mein altes 3GS wird einen Haltepunkt haben, dasselbe Xcode-Projekt, dieselben Einstellungen ... nur ein anderes Gerät und es läuft iOS 4.0. Ich denke, dies ist ein Xcode-Fehler in 3.2.5, da ich die Symbole habe. Nachdem ich alle hier veröffentlichten Lösungen ausprobiert habe, habe ich beschlossen, dass die Lösung für mein Problem darin besteht, ein Upgrade auf XCode 4 durchzuführen. Möglicherweise können Sie nicht effektiv debuggen, es sei denn, Ihr Basis-SDK ist mindestens so hoch wie das System, auf dem debuggt werden soll. Vielleicht ist das offensichtlich - kann jemand bestätigen?
Bearbeiten: Ich werde aktualisieren, wenn ich bestätigen kann, dass dies wahr ist.
Das Löschen meines Build-Ordners löste das Problem für mich.
In Xcode 4
- Product menu > Manage Schemes
- Select the scheme thats having debugging problems (if only one choose that)
- Click Edit button at bottom
- Edit Scheme dialog appears
- in left panel click on Run APPNAME.app
- on Right hand panel make sure youre on INFO tab
- look for drop down DEBUGGER:
- someone had set this to None
- set to LLDB if this is your preferred debugger
- can also change BUILD CONFIGURATION drop down to Debug
- but I have other targets set to AdHoc which debug fine once Debugger is set
Ich habe das Problem gefunden. Irgendwie wurde in meinem XCode die Option " Disassembly beim Debuggen anzeigen " aktiviert, wodurch dieses Problem auftritt. Als ich es deaktivierte, stoppte mein Debugger in meinem Quellcode.
Sie finden es unter: Product->Debug Workflow->Show Disassembly
beim Debuggen.
Wenn alles andere fehlschlägt, können Sie anstelle eines Haltepunkts die folgende Funktion aufrufen:
void BreakPoint(void) {
int i=1;
#if !__OPTIMIZE__
printf("Code is waiting; hit pause to see.\n");
while(i);
#endif
}
Um fortzufahren, setzen Sie i manuell auf Null und drücken Sie dann die Wiederaufnahme-Taste.
In XCode 6.3.1 ist mir dasselbe passiert. Ich habe es geschafft, es zu beheben durch:
Nach dieser Änderung habe ich die Optionen zum Verschieben von Haltepunkten wieder auf das Projekt zurückgesetzt und die Option zum Teilen von Haltepunkten deaktiviert. Dies funktioniert weiterhin.
Ich weiß nicht genau warum, aber das bringt meine Haltepunkte zurück.
Ich habe alle oben genannten Dinge ausprobiert, aber für mich hat es nur einmal funktioniert, die Debugging-Haltepunkte zu deaktivieren und dann zu aktivieren.
Wenn Sie Ihren Haltepunkt festlegen, klicken Sie mit der rechten Maustaste, und Sie sollten verschiedene Optionen für die Behandlung des Haltepunkts erhalten (Protokollvariablen und Fortfahren, Ausführung anhalten usw.).
Stellen Sie außerdem sicher, dass in den Debug-Einstellungen nicht "Symbole träge laden" ausgewählt ist.
(Gilt für Xcode 3.1, nicht sicher über frühere / zukünftige Versionen)
Stellen Sie außerdem sicher, dass die AppStore-Distribution der App nicht auch auf dem Gerät installiert ist.
Es scheint 3 Zustände für die Haltepunkte in Xcode zu geben. Wenn Sie darauf klicken, werden die verschiedenen Einstellungen durchlaufen. Dunkelblau ist aktiviert, Grau ist deaktiviert und ich habe manchmal ein Hellblau gesehen, bei dem ich erneut auf den Haltepunkt klicken musste, damit er die dunkelblaue Farbe annimmt.
Stellen Sie außerdem sicher, dass Sie es mit dem Befehl debug und nicht mit dem Befehl run starten. Sie können dies tun, indem Sie entweder Option + Befehl + Zurück oder die Option Los (Debuggen) im Ausführungsmenü drücken.
Ich habe Xcode 3.2.3 SDK 4.1 Haltepunkte schlagen zufällig fehl. Ich habe festgestellt, dass sie wieder funktionieren, wenn Sie den Build bereinigen und den Touch-Befehl unter Build verwenden.
Hier ist eine dunkle, auf die ich gestoßen bin: Wenn Sie an einer gemeinsam genutzten Bibliothek (oder einem Plugin) arbeiten, werden Ihre Haltepunkte beim Start gelb, was dazu führen kann, dass Sie frustriert auf Ihre Tastatur hämmern und den Debug-Prozess beenden. Tu das nicht! Die Symbole werden erst geladen, wenn die App die Bibliothek lädt. An diesem Punkt werden die Haltepunkte gültig. Ich bin auf dieses Problem mit einem Browser-Plugin gestoßen ... BPs wurden deaktiviert, bis ich zu einer Seite navigierte, die mein Plugin instanziierte.