9.1 Uruchamianie debuggera
Będziemy uczyć się procesu debugowania na podstawie PyCharm, co jest logiczne i przyjemne. Zaraz się o tym przekonasz.
W PyCharm można uruchomić swój program w dwóch trybach:
Tryby uruchomienia programu | Ikona na panelu | Skróty klawiszowe |
---|---|---|
Zwykłe wykonanie | ![]() |
Shift+F10 |
Uruchomienie w trybie debugowania | ![]() |
Shift+F9 |
Z trybem zwykłym jesteś już zaznajomiony: program się uruchomi, wykona i zakończy. Ale tryb debugowania przyniesie Ci wiele niespodzianek.
Tryb debugowania
Tryb debugowania pozwala krok po kroku wykonać cały Twój program. A może lepiej powiedzieć, linia po linii. Możesz obserwować wartości zmiennych na każdym kroku programu (po wykonaniu każdej linii kodu). A nawet je zmieniać!
Aby minimalnie opanować sztukę debugowania programu, musisz nauczyć się trzech rzeczy:
- Punkty przerwania
- Wykonywanie krok po kroku
- Podgląd wartości zmiennych
9.2 Punkty przerwania (Break Points)
IDE pozwala Ci umieścić w kodzie specjalne znaczniki — punkty przerwania (break point)
. Za każdym razem, gdy program uruchomiony w trybie debugowania dotrze do linii oznaczonej jako break point
, zostanie wstrzymany.
Aby ustawić break point
na konkretnej linii, wystarczy kliknąć w PyCharm po lewej stronie tej linii. Przykład:

W rezultacie linia zostanie oznaczona punktem przerwania (break point)
, a PyCharm podświetli całą linię na czerwono:

Ponowne kliknięcie myszą na panelu po lewej stronie kodu usunie ustawiony break point
.
Możesz również po prostu ustawić break point
na bieżącej linii za pomocą skrótu klawiszowego — Ctrl+F8. Ponowne naciśnięcie Ctrl+F8 na linii, gdzie już jest break point
, usunie go.
9.3 Uruchamianie programu w trybie debugowania
Jeśli w Twoim programie jest przynajmniej jeden punkt przerwania, możesz uruchomić program w trybie debugowania (Shift+F9 lub "ikona z robakiem").
Po uruchomieniu w trybie debugowania program działa jak zwykle. Ale gdy tylko dojdzie do wykonania linii kodu oznaczonej break point
, zostanie wstrzymany. Przykład:

Na górnej połowie zrzutu ekranu widzisz kod programu z dwoma punktami przerwania. Program zatrzymał się na linii 2 — oznaczonej niebieską linią
. Linia 2 jeszcze się nie wykonała: na konsolę nic jeszcze nie zostało wyświetlone.
Na dolnej połowie ekranu widzisz panele trybu debugowania: panel Thread & variables
, panel Console
(wyjście na ekran), a także zestaw przycisków do trybu debugowania.
Możesz zdjąć Twój program z wstrzymania (kontynuować jego wykonanie), jeśli naciśniesz przycisk Resume Program
na panelu po lewej stronie na dole (lub naciśniesz klawisz F9).

Jeśli naciśniesz ten przycisk (lub F9), program będzie kontynuował działanie, dopóki nie napotka następnego punktu przerwania lub nie zakończy się. Oto co zobaczymy po naciśnięciu tego przycisku:

Program zatrzymał się na drugim punkcie przerwania, a na konsolę zostały wyświetlone słowa "Hello"
i "and"
– znak, że z trzech linii wyjścia na ekran wykonały się tylko dwie.
9.4 Wykonywanie krok po kroku
Jeśli Twój program działa w trybie debugowania, możesz również wykonywać go krok po kroku: jeden krok — jedna linia. Do wykonywania krok po kroku są dwa skróty klawiszowe: F7 i F8: każdy z nich powoduje wykonanie bieżącej linii kodu. Ale najpierw musisz wstrzymać program za pomocą break point
.
Jeśli chcesz wykonywać program linia po linii, musisz ustawić break point
na samym początku — na pierwszej linii z kodem — i uruchomić go w trybie debugowania.
Gdy program się zatrzyma, będziesz mógł rozpocząć wykonywanie linia po linii. Jedno wciśnięcie klawisza F8 — jedna linia.
Oto jak będzie wyglądać nasz program po zatrzymaniu i naciśnięciu klawisza F8 jeden raz:

Pierwsza linia — print("Hello")
— już się wykonała, a bieżąca linia to druga. Możesz też zauważyć w dolnej części zrzutu ekranu, że na ekran już zostało wyświetlone słowo "Hello"
.
9.5 Wykonywanie krok po kroku z wchodzeniem do funkcji
Jeśli masz w programie własne funkcje i chcesz, aby w trybie debugowania Twój program nie tylko był wykonywany krok po kroku, ale też wchodził do Twoich funkcji, to do "wchodzenia do funkcji" musisz naciskać nie klawisz F8, a klawisz F7.
Załóżmy, że wykonujesz program krok po kroku i teraz zatrzymałeś się na 5. linii. Jeśli naciśniesz przycisk F8, PyCharm po prostu wykona piątą linię i przejdzie do szóstej.

A jeśli naciśniesz F7, PyCharm będzie wykonywał krok po kroku funkcję hello()
:

Wszystko jest bardzo proste. Jeśli nie jest dla Ciebie zbyt ważne, co i jak dzieje się wewnątrz metody, naciskasz F8, jeśli ważne — F7 i wykonujesz krok po kroku cały jego kod.
GO TO FULL VERSION