Articles

Xcode Debugging with Breakpoints (for Beginners)

Erica Millado

Follow

Oct 8, 2016 – 4 min read

Jako uczący się przez całe życie, zrozumiałe jest, że popełnianie błędów jest częścią procesu uczenia się. W programowaniu, te pesky rzeczy są znane jako 🐞’s (błędy). Bycie dokładnym i skutecznym debuggerem uczyni mnie lepszym programistą i ostatecznie pozwoli mi pisać doskonały kod na dłuższą metę.

Pomyślałem, że dobrym pomysłem będzie zrobienie kilku badań na temat debugowania na poziomie początkującym w Xcode i jak zapoznać się z narzędziem debugowania Breakpoint i niektórymi jego możliwościami.

Więc, co to jest punkt przerwania?

Punkt przerwania jest narzędziem debugowania, które pozwala wstrzymać wykonywanie programu do określonego momentu.

Dlaczego powinienem używać punktu przerwania?

Utworzenie punktów „wstrzymania” w kodzie może pomóc w zbadaniu kodu, aby zobaczyć, gdzie występują błędy.

Jak utworzyć punkty przerwania?

Łatwe. Zdecyduj, w którym miejscu chcesz wstrzymać wykonywanie swojego kodu i kliknij w lewej rynience, aby utworzyć niebieski punkt przerwania.

Przyjrzyjrzyjmy się bajeczności, którą nazywamy „Obszarem debugowania”.”

Ważne przyciski, z którymi warto się zapoznać: ACTIVATE BREAKPOINTS, CONTINUE/PAUSE, STEP OVER, STEP INTO i STEP OUT.

Co się dzieje na powyższym zrzucie ekranu?

Utworzyłem funkcję findSumOfEvens(), która sumuje dwie liczby całkowite, jeśli OBA są parzyste. Ustawiłem punkt przerwania w linii 25, po tym jak wywołałem moją funkcję findSumOfEvens(n1: 2, n2: 4) w linii 24. Funkcja została wstrzymana w linii 25, co oznacza, że drugie wywołanie findSumOfEvens(n1: 1, n2: 6) nie zostało wywołane YET.

Przypisałem również kilka przydatnych przycisków / obszarów debugowania Xcode. Uwaga:

  • Continue / Pause = (skrót klawiaturowy to ⌃ + ⌘ + Y)

I te przyciski kontroli wykonania:

  • Step Over = (skrót klawiaturowy to F6)
  • Step Into = (skrót klawiaturowy to F7)
  • Step Out = (skrót klawiaturowy to F8)

Uruchamiałem projekt, a konsola wypisywała „Suma twoich liczb parzystych wynosi 6.”

Następnie kliknąłem na przycisk „Step Over”, aby wykonać następną linię kodu (linia 25) – czyli tam, gdzie umieściłem punkt przerwania.

Powyżej widać, że „nadepnąłem” na następną linię kodu faktycznie ją WYKONAŁEM i teraz moja konsola wydrukowała „Obie twoje liczby muszą być parzyste. Spróbuj ponownie.”

Jak pozbyć się punktu przerwania?

Kliknij prawym przyciskiem myszy na punkt przerwania, aby go usunąć:

Czekaj, o co chodzi z tym komunikatem (lldb) w twojej konsoli?

LLDB to skrót od „low level debugger”, który zapewnia bazowe środowisko debugowania dla rozwoju aplikacji dla systemu iOS. Można go używać do znajdowania i eliminowania problemów w kodzie Swift i Objective-C.

Jak są powiązane punkty przerwania i LLDB?

Możesz wpisać skrócone polecenia do LLDB, aby pomóc ustawić punkty przerwania w określonych liniach kodu, ustawić punkty przerwania w wielu punktach kodu, wyświetlić listę wszystkich punktów przerwania i wyłączyć punkty przerwania.

„breakpoint set – selector viewDidLoad”

Powyżej widać, że można ustawić wiele punktów przerwania przez wpisanie „selektora” (nazwy metody) w LLDB. Jest to szczególnie pomocne, jeśli masz wiele plików i nie chcesz klikać we wszystkich, aby ustawić punkty przerwania.

„breakpoint list”

Powyżej możesz również „wylistować” wszystkie punkty przerwania w projekcie.

Wyjście konsoli z „breakpoint list”

Powyżej widać szczegółowe informacje z listy wypisane na konsolę, które zawierają „hit count”, czyli ile razy osiągnęliśmy dany punkt przerwania.

„breakpoint disable”

Powyżej, używam „disable” aby wyłączyć wszystkie moje punkty przerwania. Gdybym chciał wyłączyć tylko mój 2. punkt przerwania, wpisałbym „breakpoint disable 2.”

„breakpoint set – – file ViewController.swift – – linia 16”

Powyżej ustawiłem punkt przerwania w konkretnym miejscu w moim kodzie: mój plik ViewController.swift w linii 16.

Przypominając, komendy LLDB breakpoint, których użyłem były:

  • breakpoint set
  • breakpoint list
  • breakpoint disable

Jeśli mój projekt się zawiesi, czy nie powinienem po prostu kliknąć stop i zakończyć wykonywanie aplikacji?

Z tego, co zbadałem, STOPPING (◾) ️ aplikacji pozbywa się cennych informacji debugowania, które Xcode próbuje dać nam (deweloperowi), aby pomóc nam rozwiązać problem. Zamierzam zacząć używać punktów przerwania i przycisków kontroli wykonania, aby lepiej przejść przez mój kod, aby zobaczyć, gdzie występują błędy.

Obejmij błędy jako okazję do nauki.

Niech błędy będą zawsze na twoją korzyść.

.