2012-02-14 25 views

Odpowiedz

52
  1. Uruchom aplikację w Xcode.
  2. Naciśnij ⌘^Y (Debuguj -> Wstrzymaj).
  3. Przejdź do konsoli debuggera: ⌘⇧C
  4. Wpisz breakpoint set -r . -s <PRODUCT_NAME> (wprowadź nazwę aplikacji).

lldb odpowie z czymś takim ...

Breakpoint 1: 4345 locations 

Teraz wystarczy nacisnąć przycisk Kontynuuj.

breakpoint set to polecenie lldb do tworzenia punktów przerwania. Lokalizacja jest określana za pomocą wyrażenia regularnego (-r) w nazwach funkcji/metod, w tym przypadku ., który pasuje do dowolnej metody. Opcja -s służy do ograniczenia zakresu do pliku wykonywalnego (niezbędny do wykluczenia frameworka).

Po uruchomieniu aplikacji lldb będzie teraz łamał się, gdy aplikacja znajdzie funkcję z głównego pliku wykonywalnego.

Aby wyłączyć punkty przerwania, wpisz breakpoint delete 1 (wstaw prawidłowy numer punktu przerwania).

+0

Dzięki za szczegółowe wyjaśnienie. Próbowałem pokazać listę punktów przerwania i działało, ale jak ustawić punkty przerwania dla wszystkich metod za pomocą lldb? –

+1

To punkt trzeci w powyższym opisie: jeśli Twoja aplikacja ma nazwę "MyFooApp", wpisz 'breakpoint set -r. -s MyFooApp' w konsoli debuggera. –

+0

Dzięki za pracę (to był mój błąd - popełniłem błąd przy wpisywaniu nazwy projektu :) przepraszam). Dziękuję bardzo - działa świetnie! –

12

W niektórych przypadkach wygodniej jest ustawić punkty przerwania tylko dla niektórych metod.

Korzystając z LLDB możemy na przykład umieścić punkt przerwania we wszystkich metodach ViewDidLoad według nazwy.

(lldb) breakpoint set -n ViewDidLoad 

Tutaj "-n" oznacza po imieniu.

Ponadto, możemy umieścić punkty przerwania wg nazwy selektora:

(lldb) breakpoint set -S alignLeftEdges: 

Here "-S" oznacza przez selektora.

0

Istnieje wiele możliwości, ale nie ma sposobu, aby ustawić punkty przerwania tylko do swoich funkcji.Można spróbować:

breakpoint set -r '\[ClassName .*\]$'

dodać punkty przerwania do wszystkich metod w klasie

breakpoint set -f file.m -p ' *- *\('

dodać punkty przerwania do wszystkich metod w pliku

Można również używać go z wielu plików :

breakpoint set -f file1.m -f file2.m -p ' *- *\('

Skrót:

br se -f file1.m -f file2.m -p ' *- *\('

Możesz dodać punkty przerwania do wszystkich metod we wszystkich klasach z jakiegoś przedrostka (i to może mi tylko swoje zajęcia)

br se -r . -s Prefix

tę linię (wzbozon odpowiedź):

breakpoint set -n viewDidLoad

ustawi punkty przerwania dla wszystkich metod viewDidLoad we wszystkich klasach.

Próbowałem, ale nie mogłem ustawić pułapek tylko na własnych metodach.

Powiązane problemy