— Но это еще не все. Как ты думаешь – для чего был придуман режим отладки?

Это риторический вопрос.

Самое интересное в том, что на каждом шаге в дебаге ты можешь смотреть значения всех переменных, которые есть! Включая локальные переменные методов, аргументы, да фактически все что угодно.

Когда ты запускаешь режим отладки и делаешь остановку, снизу появляется специальная панель:

IDEA: watch, quick watch - 1

Зеленым выделен раздел переменных, в нем видны все локальные переменные
Красным выделено окно watch – в него можно добавить переменные самому
Оранжевым – список нитей. Прямо под ним – стек-трейс текущей нити

Сейчас я нажму F8 три раза, и в среднем окне появятся значения двух новых переменных – sum5 & sum7.

А в правом нижнем окне я нажму на плюсик и добавлю сразу выражение sum5+sum7.

Вот что у меня получилось:

IDEA: watch, quick watch - 2

В центре внизу мы видим значения переменных
Справа внизу мы видим текущее значение выражения sum5+sum7

Окно Watches удобно использовать, когда переменные имеют длинные и сложные имена, например:

this.connection.getProvider().getRights().get("super")

— Круто! Классные штуки.

— Кроме Watches есть еще Quick Watches. Ты можешь узнать значение любой переменной, просто поднеся к ней мышку. Подержи мышку над переменной пару секунд и во всплывающем окне можно будет увидеть ее значение.

IDEA: watch, quick watch - 3

И самое интересное. Значения переменных можно менять!

Просто кликаешь правой кнопкой мыши на переменной в Watches или Variables, выбираешь пункт SetValue и вводишь новое значение. Или просто жмешь F2.

Вот как это выглядит у меня:

IDEA: watch, quick watch - 4

Можно задать переменной любое значение, ссылку можно обратить в null,…

Затем жмем Enter и все. У переменной теперь новое значение.

— Ничего себе, а я и половины этого не знал. Какой полезный урок.