it-swarm.com.ru

Просмотр полных строк во время отладки в Eclipse

При отладке кода Java строки в представлениях "Переменные" и "Выражения" отображаются только до определенной длины, после чего Eclipse показывает "..."

Есть ли способ проверить всю строку? (Это облегчает добавление операторов логирования для отладки везде)

151
ragebiswas

В представлении "Переменные" можно щелкнуть правой кнопкой мыши панель "Подробности" (раздел, в котором отображается содержимое строки) и выбрать всплывающее меню "Максимальная длина ...". Такая же длина относится к всплывающему окну инспектора выражений и нескольким другим местам.

enter image description here

206
Eugene Kuleshov

В представлении Переменные щелкните правой кнопкой мыши переменную и выберите Изменить значение. Если ваша переменная огромна, вам придется подождать несколько минут (в этом случае Eclipse не отвечает на команды), но в конце Eclipse покажет вашу переменную полностью.

133
Umberto

Если у вас действительно длинная строка, я использую другую стратегию: создайте дамп в файл. У меня есть фрагмент кода, который я использую в представлении "Отображение", который оценивается для выгрузки данных в файл. Я использую Commons IO, но вы можете сделать это только методами JDK.

org.Apache.commons.io.FileUtils.writeStringToFile(new Java.io.File("<filename>"), <expression to evaluate>);

Естественно, вам потребуется JAR Commons IO в вашем пути к классам, чтобы это работало. Если нет, прибегайте к работе JDK.

19
zvikico

Лучший способ просмотреть значение String в представлении отладки Eclipse - ниже.

1) Переключиться в режим отладки в Eclipse

2) Выберите нужную переменную в области переменных.

3) Щелкните правой кнопкой мыши по области отображения переменной области, где отображается значение, и щелкните по Max Length. Введите максимальное значение символа в области "Настройка деталей".

4) Приветствия

enter image description here

11
Waqas Ahmed

Когда отладчик достигнет точки, в которой вы хотите получить значение String, просто введите оператор sysOut

System.out.println("The value is : \n " + query);

Выберите приведенный выше оператор щелкните правой кнопкой мыши -> Выполнить

Это напечатает значение на консоли

3
Sonali

В Eclipse Mars нет "maxLength". И "изменение значения" работает только с "Переменными", а не "Выражениями", поэтому ни одно из вышеперечисленных не работает для меня.

enter image description here

И, выражение обрезают в середине, а не в конце. Я думаю, они изменили поведение по умолчанию.

Единственное, что работает для меня, - это расширить ширину столбца имени выражения и щелкнуть выражение, чтобы выделить его все, чтобы увидеть содержимое полной длины.

0
WesternGun

Для отладки на основе javascript в Eclipse метод "change value" и метод "Max length" не дали мне результата, добавив необходимый объект для наблюдения (Expressions) и затем Right Щелчок по наблюдаемому выражению) выбрать "Загрузить полное значение" - единственное решение, которое работает для меня, но даже при этом в вывод выводится нежелательный "\ n".

Примечание - "Макс. Длина" должна быть установлена ​​для "Load Full Value", чтобы она работала при загрузке значений до максимальной длины (по умолчанию в Eclipse - 10000). Обратитесь к ответу выше, чтобы увидеть, как установить максимальную длину.

0
Prince Champappilly