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.

Rahul Vyas
quelle
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

h4xxr
quelle
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
45

In Xcode 4 kann dieser großartige Haltepunkt über die Schaltfläche "+" im Abschnitt "Haltepunkte" hinzugefügt werden (⌘ + 6).

Geben Sie hier die Bildbeschreibung ein

Valerii Pavlov
quelle
1
Der gleiche Ansatz kann in XCode 5
Ameer Sheikh
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

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

Ameer Sheikh
quelle