Debugowanie for

Będziemy teraz debugować instrukcję for. Dzięki temu zobaczysz odrobinę inne właściwości niż przy prostym skrypcie bez instrukcji.

Umieść breakpoint przy ostatniej linii skryptu print(f"Found cat: {cat}") (przypominamy: wystarczy kliknąć po prawej stronie numeru linii kodu).

breakpoint w kodzie

Uruchom debugowanie pliku cat_for.py. Najszybciej to zrobisz klikając prawym klawiszem myszki w oknie edycji kodu i wybierając opcję Debug.

Pierwszy przebieg

Program zostanie wstrzymany na ostatniej linii z kodem:

breakpoint w kodzie

W zakładce Variables pojawiła się zmienna cat z naszej pętli for. Zobaczmy co zmienna cat przechowuje.

Jako, że jest to pierwszy przebieg tej pętli, to ma ona pierwszą pobraną wartość z listy, czyli Kitty.

Kontynuujmy debugowanie, aby zobaczyć co stanie się dalej. Użyj skrótu klawiszowego F8 lub kliknij na ikonę odpowiadająca opcji Step Over. Poznaliśmy ją w poprzedniej sekcji:
panel debug

Drugi przebieg

Co się stało?

Nasz debugger przeskoczył do poprzedniej linii😲. Widzimy również poprzednią wartość zmiennej wypisana na szaro obok instrukcji for:

breakpoint w kodzie

Wywołajmy ponownie akcję Step Over (F8).

breakpoint w kodzie

Widzimy teraz nową wartość dla zmiennej cat. Czyli już wiemy jak spokojnie przechodzić po naszej pętli i strukturze for.

Trzeci przebieg

Wiemy, że kolejne użycie opcji Step Over przeniesie nas do linii z deklaracją for.

A co gdybyśmy chcielibyśmy od razu przejść do kolejnej wartości w pętli?

W poprzedniej sekcji poznaliśmy sprytny skrót na bezpośredni przeskok do naszego breakpoint:
Opcję Resume Program:
panel debug nastepny krok

Skorzystajmy z niej (jej skrót klawiszowy to F9):

breakpoint w kodzie

No i jesteśmy od razu w odpowiednim miejscu😁 Zerknijmy jeszcze na zakładkę Console, aby sprawdzić co do teraz zostało wypisane przez nasz program:

Starting program
Preparing data
Initialising cats list
Returning cats
Found cat: Kitty
Found cat: Pussy

Wszystko się zgadza. Ostatni kot nie został wypisany, gdyż nasz program właśnie tam został wstrzymany.

Podsumowanie

Możemy teraz zakończyć debugowanie pętli. Wiemy już jak debugger przechodzi przez jej kolejne iteracje (przebiegi). Dodatkowo zbadaliśmy kilka ciekawych właściwości kodu za pomocą debuggera.

Przejdźmy do kolejnej konstrukcji i jej analizy w trybie Debug.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *