Зневаджувач
Що таке відлагоджувач?
Відлагоджувач — це інструмент, який допомагає покроково виконувати ваш код. Можна призупинити виконання коду в певній точці та запустити режим відлагодження, щоб побачити, як працює програма. Для цього потрібно встановити позначку (точку зупинки) на рядку, де потрібно призупинити виконання.
Є код, який має обчислювати суму чисел від одного до десяти включно. Результат має бути 55, але ми отримуємо відповідь 45. Встановимо точку зупинки на початку циклу, щоб зрозуміти, чому відповідь не збігається. Для цього потрібно натиснути лівою кнопкою миші на номер рядка, і там з'явиться червона позначка.
Ось код із скріншоту, переписаний для кращої читабельності та зрозумілості:
Main.java
12345678910111213package 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" у відлагоджувачі?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Can you explain more about how to set breakpoints in different IDEs?
What are some common mistakes people make when using a debugger?
Can you give more examples of how to use the Step Over, Step Into, and Step Out features?
Awesome!
Completion rate improved to 4.76
Зневаджувач
Свайпніть щоб показати меню
Що таке відлагоджувач?
Відлагоджувач — це інструмент, який допомагає покроково виконувати ваш код. Можна призупинити виконання коду в певній точці та запустити режим відлагодження, щоб побачити, як працює програма. Для цього потрібно встановити позначку (точку зупинки) на рядку, де потрібно призупинити виконання.
Є код, який має обчислювати суму чисел від одного до десяти включно. Результат має бути 55, але ми отримуємо відповідь 45. Встановимо точку зупинки на початку циклу, щоб зрозуміти, чому відповідь не збігається. Для цього потрібно натиснути лівою кнопкою миші на номер рядка, і там з'явиться червона позначка.
Ось код із скріншоту, переписаний для кращої читабельності та зрозумілості:
Main.java
12345678910111213package 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" у відлагоджувачі?
Дякуємо за ваш відгук!