2013-03-01 14 views
6

użyłem, aby uzyskać szczegółowe informacje na temat wyjątków od aplikacji działa w symulatorze tak:Jak uzyskać szczegóły wyjątków w XCode 4.6?

po $eax 

odkąd przeniesieni do XCode 4.6 to przestał działać; I zawsze uzyskać ten błąd:

error: warning: couldn't get object pointer (substituting NULL): 
Couldn't find '_cmd' with appropriate type in scope 
Couldn't materialize struct: Couldn't read eax (materialize) 
Errored out in Execute, couldn't PrepareToExecuteJITExpression 

Widziałem ludzi, polecam korzystania z tego:

register read eax 

Ale to daje mi ten błąd:

eax   = error: unavailable 

Jak mogę uzyskać szczegóły wyjątku w XCode 4.6?

+0

Jakiego rodzaju wyjątku dotyczysz? Objective-C lub C++ lub coś innego? – trojanfoe

+0

Wyjątki od obiektu Cel-C. – Simon

+0

A może zamiast tego włamujesz się do 'objc_exception_throw'? – trojanfoe

Odpowiedz

26

Jeśli włamiesz się na objc_exception_throw wybrana ramka stosu jest ostatnią ramką kodu, przed wywołaniem bibliotek, które mogły spowodować wyjątek. W tym momencie lldb nie pozwala na dostęp do niektórych rejestrów (patrz this answer do ewentualnego wyjaśnienia

Aby uzyskać szczegółowe informacje o wyjątkach Musisz wybrać ramkę objc_exception_throw stosu.

Select the objc_exception_throw stack frame

teraz po $eax (po $rax jeśli działa na OS X 64 bit, po $r0 na iPhone/iPad, po $x0 na arm64) powinny dać ci szczegóły wyjątków

+0

Działa to również z punktami przerwania wyjątków. Dzięki! – Simon

+0

Cieszę się, że mogę pomóc. Aby wyjaśnić: Zerwanie 'objc_exception_throw' ** jest ** punktem przerwania wyjątku. – Sebastian

+0

Jest to punkt przerwania, który łamie wyjątki, ale nie jest to funkcja XCode, której nazwa brzmi "Wyjątkowy punkt przerwania". – Simon

-3

Przejdź do:.

Product -> Scheme -> Edit Scheme -> Run on the left -> diagnostics tab 

a następnie włączyć zombie

3

nie mam nic do dodania, po prostu użyj this awesome guide który pomaga ustawień wyjątku przerwania z działań (scenariusz), który drukuje opis wyjątku w konsoli.

Powiązane problemy