Java:
Використання дебагера

Як це зробити:

Скажімо, у вас є проста Java-програма, яка не працює належним чином, і ви не можете з’ясувати чому. Ось як ви б могли запустити дебагер, використовуючи Eclipse, одне з популярних IDE для розробки на Java:

Спочатку переконайтеся, що ви встановили точку зупинки. Потім клацніть правою кнопкою миші на файлі, виберіть ‘Debug As’ і клікніть на ‘Java Application’.

public class DebugExample {
    public static void main(String[] args) {
        int a = 5;
        int b = 0;
        // Встановіть точку зупинки тут
        int result = divide(a, b);
        System.out.println("Результат: " + result);
    }

    private static int divide(int numerator, int denominator) {
        // Ще одне хороше місце для точки зупинки
        return numerator / denominator;
    }
}

Роблячи це, ваша програма зупиниться на точці зупинки, і ви зможете переглядати змінні, прокроково проходити через код рядок за рядком та спостерігати, як поводиться ваша програма.

Приклад виводу (у консолі дебагера):

Точка зупинки активована на рядку: int result = divide(a, b);

Поглиблене вивчення

Концепція дебагінгу існує з ранніх днів програмування. Легенда гласить, що термін “баг” (помилка) насправді з’явився від справжнього метеликового бага, якого знайшла всередині комп’ютера Грейс Хоппер, піонерка у цій галузі. Прискоривши час до сьогодні, ми маємо сучасні IDE, такі як IntelliJ IDEA, Eclipse та NetBeans, які оснащені потужними дебагерами.

Альтернативи дебагерам в IDE включають логування, виведення друкованих заяв (бідняцький дебагер), перевірки тверджень і самостійні інструменти для дебагінгу, як-от jdb (Java Debugger), що є частиною Java Development Kit (JDK).

Дебагер працює, дозволяючи програмісту зупиняти виконання (точки зупинки), крокувати через код, перевіряти значення змінних, модифікувати ці значення “на льоту”, а також виконувати блоки коду по частинах. Використання дебагера часто вважається незамінною технікою для розробки складних застосунків, де відстеження конкретного рядка коду, що викликає проблему, можна порівняти із пошуком голки в копиці сіна.

Див. також

  • Офіційна документація Oracle щодо дебагінгу: Oracle Java SE Debugging
  • Посібник Eclipse по дебагінгу: Eclipse Debugging Tips
  • VisualVM, візуальний інструмент, що інтегрує кілька командних інструментів JDK та можливості легкої профіляції: VisualVM