Jak dodać punkt przerwania do objc_exception_throw?


80

taka była odpowiedź brada larsona na to pytanie SO

Jeśli dodasz dwa punkty przerwania, powinieneś móc debugować te wyjątki. Aby to zrobić, przejdź do Run | Pokaż | Punkty przerwania i utwórz dwa globalne punkty przerwania (robię je globalnie, ponieważ są tak przydatne we wszystkich moich aplikacjach). Pierwsza powinna mieć nazwę „objc_exception_throw”, a jej lokalizację - „libobjc.A.dylib”. Drugim powinno być „- [NSException raise]”, a jego lokalizacja powinna być „CoreFoundation”.

Teraz, jeśli zaczniesz debugować aplikację z włączonymi punktami przerwania, powinno to zostać przerwane przy rzucaniu tych wyjątków. Następnie powinieneś być w stanie zobaczyć łańcuch zdarzeń, które doprowadziły do ​​wyjątku w debugerze.

teraz w tej odpowiedzi chcę zapytać, jak dodać wspomnianą lokalizację ???


Czy ktoś ma zrzuty ekranu / ścieżki menu dla XCode 4?
budowa zakończyła się

2
Sprawdź ten wątek na forach programistów Apple, aby uzyskać instrukcje, jak to zrobić w XCode 4: devforums.apple.com/thread/68421
Andy Sinclair

Odpowiedzi:


81

Myślę, że odpowiedź Brada jest całkiem jasna; miejmy nadzieję, że może to pomóc, jeśli nie jest to jasne.

W Xcode, w górnym menu kliknij Uruchom> Pokaż> Punkty przerwania. Pojawi się nowe okno.

Wybierz „globalne punkty przerwania” w menu po lewej stronie. Po prawej stronie pod kolumną „Punkt przerwania” powinno znajdować się pole z tekstem „Podwójne kliknięcie dla symbolu”. Kliknij raz w to pole i wpisz „objc_exception_throw”.

Następnie kliknij raz w miejscu obok „objc_exception_throw” w kolumnie „lokalizacja”. Pojawi się pole, w którym można wpisać lokalizację (w tym przypadku „libobjc.A.dylib”). Zrobiłem zrzut ekranu, który, mam nadzieję, pomoże:

tekst alternatywny


Działa świetnie. Dzięki za szczegóły.
Rob Segal

17
W Xcode 4 istnieje nawigator punktów przerwania, w którym można je dodać.
Don

Możesz także zainstalować skrypt, który wyświetla opis wyjątku w konsoli , musi mieć!
DanSkeel


6

w Xcode 6 - z górnego menu

Debuguj> Punkty przerwania> Utwórz punkt przerwania wyjątku


Pozostałe odpowiedzi uległy zmianie, ta odpowiedź jest poprawna od kwietnia 2017 r. / Xcode8
Josh

4

Chciałbym również polecić dodanie +[NSException raise:format:arguments:]punktu przerwania i jego lokalizacji CoreFoundation.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.