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:

Punkty przerwania

W rezultacie linia zostanie oznaczona punktem przerwania, a Intellij IDEA podświetli ją na czerwono:

Punkty przerwania 2

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+ F8na 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+ F9lub „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:

Uruchamianie programu w trybie debugowania (debug)

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).

Uruchomienie programu w trybie debugowania (debugowanie) 3

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:

Uruchomienie programu w trybie debugowania (debug) 4

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: F7i 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 F8jednokrotnym naciśnięciu klawisza:

Uruchom program w trybie debugowania (debugowania) Wykonanie krok po kroku

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 F8klawisz 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.

Wchodzenie w metody

Ale jeśli naciśniesz F7, IDEA przejdzie przez metodę main2():

Wchodzenie w metody 2

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 - F7i krok po kroku wykonujesz cały jej kod.