CodeGym /Kursy /Frontend SELF PL /IntelliJ IDEA Debug

IntelliJ IDEA Debug

Frontend SELF PL
Poziom 38 , Lekcja 3
Dostępny

10.1 Uruchamianie debuggera

Będziemy omawiać proces debugowania w IntelliJ IDEA, co jest logiczne i przyjemne. Zaraz się o tym przekonasz.

W IntelliJ IDEA (wymagane jest Ultimate Edition) można uruchomić swoją aplikację w dwóch trybach:

Tryby uruchamiania programu Ikonka na panelu Skróty klawiszowe
Zwykłe wykonanie bug Shift+F10
Uruchomienie w trybie debugowania bug Shift+F9

Zwykły tryb już znasz: program uruchomi się, wykona i zakończy. Natomiast tryb debugowania może cię zaskoczyć.

Tryb debugowania

Tryb debugowania pozwala krok po kroku wykonać cały twój program. A właściwie powinienem powiedzieć, linijka po linijce. Możesz obserwować wartości zmiennych na każdym etapie działania programu (po każdej linii kodu). I nawet zmieniać ich wartości!

Aby opanować podstawy debugowania, musisz poznać trzy rzeczy:

  • Punkty zatrzymania
  • Krokowe wykonanie
  • Podgląd wartości zmiennych

10.2 Punkty zatrzymania (Break Points)

IDE pozwala umieścić w kodzie specjalne znaczniki — punkty zatrzymania (break point). Każdorazowo, gdy program uruchomiony w trybie debugowania dotrze do linii oznaczonej jako break point, zatrzyma się na chwilę.

Aby ustawić break point na danej linii, wystarczy kliknąć w IntelliJ IDEA po lewej stronie tej linii. Przykład:

break point

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

break point

Ponowne kliknięcie myszą po lewej stronie kodu usunie ustawiony break point.

Można również ustawić break point na bieżącej linii za pomocą skrótu klawiaturowego — Ctrl+F8. Ponowne naciśnięcie Ctrl+F8 na linii, gdzie już jest break point, usunie go.

10.3 Uruchamianie programu w trybie debugowania

Jeśli w twoim programie jest przynajmniej jeden punkt zatrzymania, możesz uruchomić program w trybie debugowania (Shift+F9 lub „ikonka z robakiem”).

Po uruchomieniu w trybie debugowania program wykonuje się jak zwykle. Ale gdy tylko dotrze do linii kodu oznaczonej jako break point, zatrzyma się. Przykład:

break point

W górnej połowie zrzutu ekranu widzisz kod programu z dwoma punktami zatrzymania. Program zatrzymał się na linii 2 — oznaczonej niebieską linią. Linia 2 jeszcze nie została wykonana: w konsoli nic jeszcze się nie wyświetliło.

W dolnej połowie ekranu widzisz panele trybu debugowania: panel Thread & variables, panel Console (wyjście na ekran), a także zestaw przycisków dla trybu debugowania.

Możesz zdjąć program z pauzy (kontynuować jego wykonanie), naciskając przycisk Resume Program na panelu po lewej stronie (lub naciskając klawisz F9).

breakpoint

Jeśli naciśniesz taki przycisk (lub F9), program będzie kontynuował wykonywanie, aż napotka kolejny punkt zatrzymania lub zakończy działanie. Oto co zobaczysz po naciśnięciu przycisku:

breakpoint

Program zatrzymał się na drugim punkcie zatrzymania, a w konsoli wyświetlają się słowa Hello i and – znak, że z trzech linii wyjścia na ekran wykonano tylko dwie.

10.4 Krokowe wykonanie

Jeśli twój program działa w trybie debugowania, możesz go również wykonywać krok po kroku: jeden krok — jedna linijka. Dla krokowego wykonania są dwa skróty klawiaturowe: F7 i F8 — każdy z nich wykonuje bieżącą linię kodu. Najpierw jednak musisz zatrzymać program za pomocą break point.

Jeśli chcesz wykonywać program linijka po linijce, 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ąć jego krokowe wykonanie. Jedno naciśnięcie klawisza F8 — jedna linijka.

Oto jak będzie wyglądał program po zatrzymaniu i naciśnięciu klawisza F8 jeden raz:

breakpoint

Pierwsza linia — print(“Hello”) już została wykonana, a bieżąca linia to druga. Możesz również zobaczyć w dolnej części zrzutu ekranu, że na ekranie już wyświetliło się słowo Hello.

10.5 Krokowe wykonanie z wejściem do funkcji

Jeśli w twoim programie są własne funkcje i chcesz, aby w trybie debugowania twój program nie tylko wykonywał się krokowo, ale także wchodził do twoich funkcji, to dla „wejścia do funkcji” musisz nacisnąć nie klawisz F8, a klawisz F7.

Załóżmy, że wykonujesz program krokowo i obecnie zatrzymałeś się na 5. linii. Jeśli naciśniesz przycisk F8, Intellij IDEA po prostu wykona piątą linię i przejdzie do szóstej:

debug

Jeśli jednak naciśniesz F7, Intellij IDEA będzie krokowo wykonywać funkcję hello():

debug

Wszystko jest bardzo proste. Jeśli nie bardzo cię interesuje, co i jak dzieje się wewnątrz metody, naciskasz F8, jeśli interesuje cię — F7 i wykonujesz cały jego kod krok po kroku.

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION