Pierwsze praktyczne użycie panelu Debug

Odpalimy teraz debug zgodnie z jego przeznaczeniem 🎯

Zatrzymanie wykonania kodu

Poprzednie uruchomienie debuggera było dość nietypowe, gdyż nie zatrzymaliśmy wykonywania kodu i właściwie nie różniło się to zbytnio od opcji zwykłego wykonania naszego programu.

Aby spowodować zatrzymanie kodu w danym miejscu musimy w jakiś sposób dać znać debuggerowi gdzie ma się zatrzymać. Do tego został stworzony mechanizm breakpoint.

Taki breakpoint umożliwi nam wskazanie, gdzie zapauzować wykonanie naszego skryptu.

TIP: Nazwa skrypt oznacza krótki program lub zestaw poleceń mieszczących się się w jednym pliku. Będziemy używać tej nazwy często w odniesieniu do naszego programu.

Umieszczamy breakpoint

Jak więc dodać breakpoint w PyCharm? Przejdź do edytora kodu. Wybieramy dowolną linię gdzie umieścimy breakpoint

Na przykład zlokalizuj w naszym skrypcie linię kodu zawierającą cats.append(cat2). Po lewej stronie tego kodu widzimy numer linii w której on występuje, u nas powinno to być np. 16.

Kliknij w pustą przestrzeń po prawej stronie liczby z numerem linii. Pojawi się wtedy czerwone oznaczenie breakpointa a linia z kodem cats.append(cat2) zostanie podświetlona na bladoczerwony.

breakpoint w kodzie

TIP: Ikona żarówki na załączonym screenie (nad kodem cats) podpowiada nam opcje breakpointa. Na razie nie będziemy z nich korzystali więc możesz ją zignorować 😋
TIP: Pokazana technika umieszczenia breakpointa zadziała tylko dla linii, w której jest kod. Spróbuj umieścić breakpoint w miejscu, gdzie widnieje pusta linia (w naszym kodzie ta o numerze 3). Przekonasz się, że się nie da się tam umieścić czerwonej kropki 🤷‍♀️

Ta sama zasada tyczy się komentarzy w kodzie (linia pierwsza naszego programu).

Uruchamiamy debug z breakpoint!

Uruchom nasz skrypt w trybie debug. Robimy to tak jak ćwiczyliśmy w poprzedniej lekcji czyli z opcji dla konfiguracji uruchomieniowej. Możemy też kliknąć robala w wywołanym oknie Debug.

panel debug

Efekt jest trochę bardziej znaczący 😀

debugowany program

W edytorze kodu, linia przy której postawiliśmy breakpoint została podświetlona na niebiesko. To tutaj wykonanie kodu zostało zatrzymane. A co słychać w panelu Debug? Wygląda on nieco inaczej:

panel debug

Na screenie powyżej zaznaczyliśmy dwie istotne różnice w porównaniu do poprzedniego uruchomienia.

Zakładka Debugger

Przyjrzyj się bliżej zaznaczonej na screenie sekcji Variables. Tutaj znajdują się wszystkie zmienne i przypisane do nich wartości.

Widać nasze zmienne z kotami cat1, cat2, cat3.

Widzimy także zmienną cats, jej typ list oraz wielkości: 1 (czyli zawiera jeden element). Kliknij w szarą strzałke (z lewej strony nazwy zmiennej) aby rozwinąć listę elementów znajdujących się w zmiennej cats. Możesz potem ją zwinąć.

Poniżej zmiennej cats mamy zbiór o nazwie Special Variables. Są to wszystkie zmienne jakie są dostępne w ramach uruchomionego środowiska Python. Nie będziemy ich teraz opisywać, gdyż to temat na osobne lekcje czy nawet kurs😁

Przypominamy, że jest to dość podobny widok jaki poznaliśmy w lekcji o użyciu konsoli (lekcje dostępne dla studentów wersji premium Zestaw konsola, lista i for). Tam właśnie omówiliśmy pewne składowe, które są dość podobne do tego co widzimy w widoku debug

Zakładka Console

Znajdujemy się teraz w zakładce Debugger (zaznaczenie po lewej na screenie). Wcześniej, gdy uruchomiliśmy program bez breakpoint, automatycznie przełączył się on do zakładki Console.

W zakładce Console możesz podejrzeć wszystko co wypisuje program, czyli tak jak przy klasycznym wykonaniu programu. Przejdź do tej zakładki. Na razie nie ma tam wszystkich naszych printów, gdyż zatrzymaliśmy skrypt i pozostałe printy nie zostały jeszcze wykonane.

Wróć do zakładki Debugger.

Zatrzymanie Debuggera

Teraz testowo przerwijmy debugowanie.

Naciśnij w dowolnym miejscu czerwoną ikonę stop 🟥. Znajdziesz ją zarówno w panelu Debug jak i w panelu z konfiguracjami uruchomieniowymi (na górze po prawej).

Usuwamy breakpoint

Skoro zatrzymaliśmy juz tryb debug to możemy wyłączyć breakpoint.

Jest to banalnie proste: wystarczy kliknąć w miejscu gdzie go wstawiliśmy. Kliknij w tę czerwoną kropkę 🔴 po lewej stronie linii z kodem. Powinna ona zniknąć🧙‍♂️

Uruchom debugowanie i zobacz czy program wykonał się w całości. Przy okazji możesz sprawdzić czy w panelu Debug pokazała się automatycznie zakładka Console z poprawnymi danymi wyjściowymi.

Podsumowanie

Uruchomiliśmy nasz program z breakpoint oraz poznaliśmy nowe właściwości okna Debug: zakładki Debugger oraz Console.

W czasie debugowania z dodanym breakpoint, w zakładce Console został wypisany tylko częściowo tekst z naszego skryptu. Oznacza to poprawne działanie stworzonego przez nas breakpoint💪

Dodatkowo mogliśmy podglądnąć dokładnie zmienne które posiadamy w naszym skrypcie.

Czas na kolejne eksperymenty z debugowaniem.

Dodaj komentarz

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