Czy ktoś wie, jak automatycznie ustawić punkty przerwania na wszystkich metod w XCode. Chcę wiedzieć, jak działa mój program i jakie metody wywołują podczas interakcji z interfejsem użytkownika. Dzięki za odpowiedź.Jak automatycznie ustawić punkty przerwania na wszystkich metodach w XCode?
Odpowiedz
- Uruchom aplikację w Xcode.
- Naciśnij ⌘^Y (Debuguj -> Wstrzymaj).
- Przejdź do konsoli debuggera: ⌘⇧C
- 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).
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.
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.
- 1. Jak wyłączyć wszystkie punkty przerwania w Xcode
- 2. Jak usunąć punkty przerwania w XCode
- 3. Xcode 8.3.2 Punkty przerwania nie działają
- 4. Punkt przerwania lldb dla wszystkich metod w klasie cel c
- 5. Punkty przerwania stron aspx
- 6. Gdzie są zapisywane punkty przerwania Xcode na poziomie użytkownika?
- 7. Jak ustawić punkty przerwania programowo w Visual C++?
- 8. Xdebug ignoruje punkty przerwania
- 9. Punkty przerwania z arkusza Scala?
- 10. punkty przerwania clojurescript
- 11. Czy można ustawić punkty przerwania dla wszystkich metod w klasie jednocześnie w programie Visual Studio?
- 12. Jak działają punkty przerwania w kodzie C++?
- 13. CSS "punkty przerwania" na wysokości kontenerów
- 14. Jak ustawić punkt przerwania w gdb dla wszystkich wywołań funkcji?
- 15. Układ materiałów, punkty przerwania na pojemnikach
- 16. Eclipse Helios ignoruje punkty przerwania
- 17. Bourbon schludne wielokrotne punkty przerwania
- 18. Zerwane warunkowe punkty przerwania Eclipse?
- 19. Jak ustawić punkty przerwania detektora zdarzeń na karcie Elementy w przeglądarce Chrome?
- 20. Jak debugować niechciane responsywne punkty przerwania?
- 21. Dlaczego Firebug uderza w nieistniejące punkty przerwania?
- 22. Usunąć punkty przerwania z marginesu w Notepad ++?
- 23. Dodaj symboliczną przerwania na selektor w Xcode
- 24. Wyłącz/usuń punkty przerwania dla dzieci?
- 25. Jak dodać punkty przerwania w wbudowanym javascript w chrome
- 26. Jak dodać punkt przerwania w Xcode?
- 27. Dlaczego moje punkty przerwania duplikują się w Visual Studio?
- 28. Flash Builder dezaktywuje punkty przerwania (czasami)
- 29. Ustaw punkty przerwania i debugowanie eval'd JavaScript
- 30. gdb, ustaw punkt przerwania dla wszystkich funkcji w pliku
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? –
To punkt trzeci w powyższym opisie: jeśli Twoja aplikacja ma nazwę "MyFooApp", wpisz 'breakpoint set -r. -s MyFooApp' w konsoli debuggera. –
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! –