— Но это еще не все. Как ты думаешь – для чего был придуман режим отладки?
Это риторический вопрос.
Самое интересное в том, что на каждом шаге в дебаге ты можешь смотреть значения всех переменных, которые есть! Включая локальные переменные методов, аргументы, да фактически все что угодно.
Когда ты запускаешь режим отладки и делаешь остановку, снизу появляется специальная панель:

Зеленым выделен раздел переменных, в нем видны все локальные переменные
Красным выделено окно watch – в него можно добавить переменные самому
Оранжевым – список нитей. Прямо под ним – стек-трейс текущей нити
Сейчас я нажму F8 три раза, и в среднем окне появятся значения двух новых переменных – sum5 & sum7.
А в правом нижнем окне я нажму на плюсик и добавлю сразу выражение sum5+sum7.
Вот что у меня получилось:

В центре внизу мы видим значения переменных
Справа внизу мы видим текущее значение выражения sum5+sum7
Окно Watches удобно использовать, когда переменные имеют длинные и сложные имена, например:
this.connection.getProvider().getRights().get("super")
— Круто! Классные штуки.
— Кроме Watches есть еще Quick Watches. Ты можешь узнать значение любой переменной, просто поднеся к ней мышку. Подержи мышку над переменной пару секунд и во всплывающем окне можно будет увидеть ее значение.

И самое интересное. Значения переменных можно менять!
Просто кликаешь правой кнопкой мыши на переменной в Watches или Variables, выбираешь пункт SetValue и вводишь новое значение. Или просто жмешь F2.
Вот как это выглядит у меня:

Можно задать переменной любое значение, ссылку можно обратить в null,…
Затем жмем Enter и все. У переменной теперь новое значение.
— Ничего себе, а я и половины этого не знал. Какой полезный урок.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ