Зміст курсу
Java ООП
Java ООП
Зневаджувач
Що таке відлагоджувач?
Відлагоджувач — це інструмент, який допомагає покроково виконувати ваш код. Ми можемо призупинити виконання коду в певній точці та запустити режим відлагодження, щоб побачити, як працює наш код. Для цього потрібно встановити мітку (breakpoint) на рядку, де потрібно зробити паузу.
У нас є код, який має обчислити суму чисел від одного до десяти включно. Результат має бути 55
, але ми отримуємо у відповіді 45
. Давайте встановимо breakpoint на початку циклу, щоб зрозуміти, чому відповідь не співпадає. Для цього потрібно натиснути лівою кнопкою миші на номер рядка, і там з’явиться червона мітка.
Ось код із скріншоту, переписаний для кращої читабельності та зрозумілості:
Main.java
package com.example; import java.util.Arrays; public class Main { public static void main(String[] args) { int result = 0; for(int i = 0; i < 10; i++) { result += 1; System.out.println(result); } } }
Інструменти у режимі налагодження
Розглянемо коротко, як працювати з налагоджувачем і які інструменти в ньому доступні.
-
Step Over: За допомогою цієї кнопки можна виконувати код по одному рядку. При натисканні налагоджувач виконає поточний рядок і перейде до наступного, після чого знову зупиниться;
-
Step Into: За допомогою цієї кнопки можна увійти у виконання методу. У нашому прикладі методу немає, але якби він був, ми могли б зайти всередину і подивитися, що там відбувається;
-
Step Out: Ця кнопка є протилежністю попередньої. Вона дозволяє вийти з виконання методу або циклу;
-
Значення змінних можна побачити у вікні внизу або поруч із цими змінними. Чітко видно значення змінної
result
, яка спочатку дорівнює нуль.
Перегляд коду по кроках
Щоб переглядати код, натискаємо кнопку "Step Over". Ми заходимо у цикл for
, і з'являється значення змінної i
, яка створюється всередині циклу for
. Спочатку ця змінна дорівнює нулю.
Далі кілька разів натискаємо "Step Over", щоб завершити одну ітерацію, і переходимо до консолі, щоб перевірити, чи щось вивелося на екран. Бачимо, що змінна i
збільшилася на 1
, а на екрані відобразилося "0", оскільки і змінна result
, і змінна i
спочатку дорівнювали нулю. 0 + 0 = 0
-> саме це було виведено на екран.
Пропустимо ітерації з виведенням інших чисел у консоль і перейдемо до кінця. Саме тут можна побачити основну помилку в нашому циклі. Потрібно вивести суму чисел від 0 до 10 включно, але ми не врахували 10. Тому, коли бачимо, що i = 9
, і при збільшенні до 10
ми виходимо з циклу, оскільки 10 !< 10
(10 не менше за 10).
Щоб вирішити цю проблему, потрібно змінити умову на i <= 10
. Тоді отримаємо правильний результат.
По суті, ми кілька разів натискали кнопку "Step Over", що дозволило нам виявити помилку в циклі та виправити її.
Примітка
Я показав лише основні інструменти відлагоджувача. Щоб навчитися ними користуватися, слід практикуватися самостійно. Ви можете написати подібну програму та самостійно переконатися, як усе працює. Відлагоджувач — це дуже корисний інструмент, оскільки допомагає знаходити помилки та баги в коді.
1. Яке основне призначення відлагоджувача?
2. Що дозволяє зробити точка зупинки у відлагоджувачі?
3. Що робить кнопка "Step Over" у відлагоджувачі?
Дякуємо за ваш відгук!