1. Błąd
Programiści mają swój własny slang, choć wielu uważa go za żargon techniczny. W każdym razie nie można uniknąć ani poznania go, ani szczegółowego przestudiowania. Więc zacznij się angażować.
Jednym z pierwszych słów, które spotkasz, będzie słowo bug , pochodzące od angielskiego bug (chrząszcz). To słowo oznacza błąd w programie, gdy program robi coś źle lub źle. Albo to po prostu dziwnie działa.
Jeśli jednak programista uważa, że program, choć dziwnie działa, jest dokładnie taki, jak zamierzał, zwykle deklaruje coś w stylu „to nie jest błąd, to jest funkcja”. Co zrodziło masę internetowych memów.
W zasadzie przyczyna nieprawidłowego działania może być dowolna: błąd w logice programu, literówki, niewłaściwa architektura programu, aż po problemy w kompilatorze. W każdym razie programiści muszą naprawić zarówno rzeczywiste błędy, jak i wszelkie inne „wady” występujące w programie.
Historia słowa błąd
Najczęstszą wersją pochodzenia słowa bug jest taka legenda.
We wrześniu 1947 roku naukowcy z Uniwersytetu Harvarda przetestowali jeden z pierwszych komputerów, Mark II. Komputer nie działał, a w trakcie sprawdzania wszystkich tablic znaleźli ćmę, która utknęła między stykami przekaźnika elektromechanicznego.
Wyekstrahowany owad został wklejony taśmą do dziennika technicznego i opatrzony napisem, jak mówią, „błąd został znaleziony i naprawiony”.
Uważa się, że ta zabawna historia była początkiem używania słowa bug jako oznaczenia błędu, a słowo debug (debug) stało się synonimem eliminowania błędów.
2. Debugowanie programu
Fragment wykładu CodeGym - University .
Aby wyeliminować błędy w swoich programach, programiści używają specjalnych programów do debugowania ( debugger ). Niektóre z tych programów mogą nawet debugować kod natywny.
Programiści Java używają IDE do debugowania swoich programów. Takich jak Intellij IDEA, Eclipse i Net Beans. IntelliJ IDEA jest zdecydowanie najpotężniejszym IDE, więc przyjrzymy się procesowi debugowania, używając go jako przykładu.
Intellij IDEA może uruchomić twój program w dwóch trybach:
Tryby uruchamiania programu | Ikona panelu | Skróty klawiszowe |
---|---|---|
Normalne wykonanie | Shift +F10 |
|
Uruchom w trybie debugowania | Shift +F9 |
Znasz już zwykły tryb działania: program uruchomi się, wykona i zakończy. Ale tryb debugowania przynosi wiele niespodzianek.
Tryb debugowania
Tryb debugowania pozwala przejść przez cały program. A może bardziej poprawne byłoby stwierdzenie linia po linii : linia po linii . W takim przypadku można obserwować wartości zmiennych na każdym kroku programu (po wykonaniu każdej linii kodu). A nawet zmienić ich wartości!
Aby w minimalnym stopniu opanować sztukę debugowania programu, musisz nauczyć się trzech rzeczy:
- Punkty przerwania
- Przechodzenie
- Przeglądanie wartości zmiennych
3. Punkty przerwania
IDE umożliwia umieszczanie w kodzie specjalnych znaczników zwanych punktami przerwania . Za każdym razem, gdy program działający w trybie debugowania osiągnie linię oznaczoną jako punkt przerwania , zostanie zatrzymany.
Aby umieścić punkt przerwania na określonej linii, wystarczy kliknąć IDEA po lewej stronie tej linii. Przykład:
W rezultacie linia zostanie oznaczona punktem przerwania, a Intellij IDEA podświetli ją na czerwono:
Ponowne kliknięcie panelu po lewej stronie kodu usunie ustawiony punkt przerwania .
Możesz także po prostu umieścić punkt przerwania w bieżącej linii za pomocą kombinacji klawiszy skrótu - Ctrl
+ F8
. Ponowne naciśnięcie Ctrl
+ F8
na linii, która ma już punkt przerwania, usuwa go.
4. Uruchom program w trybie debugowania (debugowania)
Jeśli masz w swoim programie co najmniej jeden punkt przerwania, możesz uruchomić program w trybie debugowania ( Shift
+ F9
lub „ikona błędu”).
Po uruchomieniu w trybie debugowania program działa normalnie. Ale gdy tylko osiągnie wykonanie linii kodu oznaczonej punktem przerwania , zatrzyma się. Przykład:
W górnej połowie zrzutu ekranu widać kod programu z dwoma punktami przerwania. Program zawiesił się w linii 5 - oznaczonej niebieską linią. Linia 5 nie została jeszcze wykonana: nic nie zostało jeszcze wydrukowane na konsoli.
W dolnej połowie ekranu widoczne są panele trybu debugowania: panel Debuger , panel Konsola (wyjście na ekran) oraz zestaw przycisków trybu debugowania.
Możesz wznowić działanie programu (kontynuować jego wykonywanie) klikając przycisk Wznów program w lewym dolnym panelu (lub naciskając klawisz F9
).
Jeśli naciśniesz taki przycisk (lub F9
), program będzie kontynuował działanie, aż trafi na następny punkt przerwania lub zakończy działanie. Oto co zobaczymy po kliknięciu takiego przycisku:
Program zatrzymał się w drugim punkcie przerwania, a na konsolę wypisane zostały słowa Привет
i И
- znak, że zostały wykonane tylko dwie z trzech linii wyjścia na ekran.
5. Krok po kroku
Jeśli twój program działa w trybie debugowania, możesz również przejść przez niego krok po kroku: jeden krok , jedna linia . Istnieją dwa skróty klawiszowe do wykonywania kroków: F7
i F8
: każdy z nich prowadzi do wykonania bieżącej linii kodu. Ale najpierw nadal będziesz musiał zatrzymać program za pomocą punktu przerwania .
Jeśli chcesz wykonywać swój program linia po linii, musisz umieścić punkt przerwania na samym początku metody main()
i uruchomić ją w trybie debugowania.
Kiedy program się zatrzyma, możesz zacząć wykonywać go linia po linii. Jedno naciśnięcie klawisza F8
- jedna linia.
Tak będzie wyglądał nasz program po zatrzymaniu i F8
jednokrotnym naciśnięciu klawisza:
Pierwsza linia głównej metody została już wykonana, a bieżąca linia jest drugą. Możesz również zobaczyć na dole zrzutu ekranu, że słowo jest już wyświetlane na ekranie Привет
.
6. Wchodzenie w metody
Jeśli masz w programie własne metody i chcesz, aby Twój program nie tylko przechodził przez tryb debugowania, ale także wchodził do twoich metod, aby „wejść w metodę” musisz nacisnąć nie klawisz, ale F8
klawisz F7
.
Powiedzmy, że przechodzisz przez program i zatrzymujesz się na linii 4. Jeśli naciśniesz przycisk F8
, IDEA po prostu wykona czwartą linię i przeskoczy do piątej.
Ale jeśli naciśniesz F7
, IDEA przejdzie przez metodę main2()
:
Wszystko jest bardzo proste. Jeśli nie jest dla Ciebie bardzo ważne, co i jak dzieje się wewnątrz metody, wciskasz F8
, jeśli jest to ważne - F7
i krok po kroku wykonujesz cały jej kod.
GO TO FULL VERSION