В Eclipse Debugger (для Java) есть ли способ проверить произвольные значения?
Мне интересно, есть ли способ взглянуть на значения не объявленных переменных, поскольку они передаются в функцию после выполнения этой функции. Например, если я отлаживаю и строка
foo.setBar(baz.getBar());
уже передан (но все еще находится в области видимости), как я могу увидеть значение того, что было передано в setBar()
? Я знаю, что я могу видеть это многими другими способами, например, вступая в вызов setBar()
или назначая baz.getBar()
временной переменной - но это не то, что я прошу.
Изменить: В принципе, я чувствую себя оштрафованным (потеряв способность видеть определенную информацию) во время отладки, просто потому, что я не объявляю каждую переменную.
И я знаю, что смог проверить bar
после факта (если я знаю, что он не изменился), но в этом случае это не так просто, потому что я имею дело с объектами, которые не являются только POJO или JavaBeans ( объект, который поставил этот вопрос, является HTTP-запросом - и да, я уже пытался проверить его).
Ответы
Ответ 1
В перспективе Debug откройте окно отображения (Window = > Show View = > Display), напишите код, который вы хотите отобразить (например, baz.getBar()
), выберите его, а затем щелкните правой кнопкой мыши и выберите "Дисплей" или используйте ярлык, чтобы отобразить его значение.
Ответ 2
А намного проще выбрать выражение (здесь: baz.getBar()) и нажать CTRL + SHIFT + я (для проверки). Это открывает всплывающую подсказку, такую как окно со всем, что вы хотите знать.
Ответ 3
И, конечно, вы можете использовать представление "Выражения" (Окно → Показать вид → Выражения).
Ответ 4
в представлении "Выражения" добавьте следующее выражение
baz.getBar()
и он будет удален во время отладки (если это видно отладчику)