Карта / IDE (IntelliJ) / Дебаггер

Дебаггер

Дебаггер — инструмент, который останавливает программу на нужной строке и показывает, что происходит внутри в этот момент. Вместо десятков System.out.println() для поиска бага — поставил точку останова и реально заглянул в значения переменных.

Базовый поток:

  1. Кликни слева от номера строки — поставится красная точка (breakpoint, точка останова).
  2. Запусти программу через 🐞 (Debug), а не ▶️ (Run).
  3. Когда выполнение дойдёт до этой строки — программа остановится, в окне Variables видны все текущие значения.
  4. Дальше двигаешься по коду кнопками: Step Over (выполнить строку целиком), Step Into (зайти внутрь вызываемого метода), Step Out (выйти из текущего метода).
Копнуть глубже

Условные точки останова. Можно настроить breakpoint так, чтобы он срабатывал только при выполнении условия — правый клик на точке → Condition: например, i == 50 в цикле — иначе пришлось бы 50 раз жать Step Over вручную.

Watches — добавить произвольное выражение для отслеживания, даже если его нет в коде как переменной (например, list.size() > 0) — удобно следить за вычисляемым значением, не печатая его специально.

Evaluate Expression (Alt+F8) — прямо во время остановки можно выполнить любой кусок кода и посмотреть результат, не меняя саму программу — полезно проверить гипотезу “а что если вызвать этот метод вот с такими аргументами”.

🎤 Закрыл тему, если можешь объяснить:
• как поставить точку останова и пройтись по коду пошагово;
• разницу Step Over / Step Into / Step Out (если дошёл до 2-го слоя).