Wie füge ich objc_exception_throw einen Haltepunkt hinzu?


80

Dies war die Antwort von Brad Larson auf diese SO- Frage

Wenn Sie zwei Haltepunkte hinzufügen, sollten Sie diese Ausnahmen debuggen können. Gehen Sie dazu zu Ausführen | Show | Haltepunkte und erstellen Sie zwei globale Haltepunkte (ich mache sie global, weil sie in allen meinen Anwendungen so nützlich sind). Der erste sollte "objc_exception_throw" heißen und seinen Speicherort "libobjc.A.dylib" haben. Die zweite sollte "- [NSException erhöhen]" sein und ihre Position sollte "CoreFoundation" sein.

Wenn Sie jetzt mit dem Debuggen Ihrer Anwendung mit aktivierten Haltepunkten beginnen, sollte diese beim Auslösen dieser Ausnahmen unterbrochen werden. Sie sollten dann in der Lage sein, die Ereigniskette zu sehen, die zu der Ausnahme im Debugger geführt hat.

Jetzt in dieser Antwort möchte ich fragen, wie ich den genannten Ort hinzufüge.


Hat jemand Screenshots / Menüpfade für XCode 4?
Builds erfolgreich

2
In diesem Thread in den Apple Dev-Foren finden Sie Anweisungen dazu in XCode 4: devforums.apple.com/thread/68421
Andy Sinclair,

Antworten:


81

Ich denke, Brads Antwort ist ziemlich klar; Hoffentlich kann dies helfen, wenn Sie es nicht klar finden.

Klicken Sie in Xcode im oberen Menü auf Ausführen> Anzeigen> Haltepunkte. Ein neues Fenster wird geöffnet.

Wählen Sie im Menü auf der linken Seite "Globale Haltepunkte". Rechts unter der Spalte "Haltepunkt" sollte sich ein Feld mit dem Text "Doppelklicken für Symbol" befinden. Klicken Sie einmal in dieses Feld und geben Sie "objc_exception_throw" ein.

Klicken Sie dann einfach in das Feld neben "objc_exception_throw" in der Spalte "location". Es erscheint ein Feld, in das Sie den Speicherort eingeben können (in diesem Fall "libobjc.A.dylib"). Ich habe einen Screenshot gemacht, der hoffentlich helfen wird:

Alt-Text


Funktioniert super. Danke für das Detail.
Rob Segal

17
In Xcode 4 gibt es einen Haltepunktnavigator, in dem Sie diese hinzufügen können.
Don

Sie können auch installieren Skript , das druckt Ausnahme Beschreibung in der Konsole haben muss!
DanSkeel


6

in Xcode 6 - aus dem oberen Menü

Debug> Haltepunkte> Ausnahme-Haltepunkt erstellen


Die anderen Antworten haben sich geändert, diese Antwort ist die richtige ab April 2017 / Xcode8
Josh

4

Ich würde auch empfehlen, den +[NSException raise:format:arguments:]Haltepunkt hinzuzufügen und seine Position sollte sein CoreFoundation.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.