Предположим, что у меня есть класс
public class MyClass {
private Set<String> set = new HashSet<String>();
//and many methods here
}
есть ли возможность сделать отладчик eclipse stop в каждой строке, где используется элемент-член?
Предположим, что у меня есть класс
public class MyClass {
private Set<String> set = new HashSet<String>();
//and many methods here
}
есть ли возможность сделать отладчик eclipse stop в каждой строке, где используется элемент-член?
Я не использовал Eclipse какое-то время, но, насколько я помню, это возможно в выпуске Callisto по крайней мере. Если вы установите точку останова в строке, содержащей объявление, а затем перейдите в расширенные свойства для этой точки останова, я считаю, что вы можете установить параметры для изменения и доступа к этой переменной.
Изменить: я только что проверил Eclipse Europa. Он работает очень широко, как я думал; точка останова называется точкой наблюдения, когда вы устанавливаете ее на переменную; и на странице "Свойства точки останова" (доступный щелчком правой кнопкой мыши по bauble точки останова на полях и, возможно, другими способами), вы можете определить, должен ли отладчик останавливаться на "Полевом доступе" и "Модификации поля". В вашем случае вы хотите, чтобы первый был выбран.
Да. Вы можете поставить точку останова в выражении
private String propString;
Точка останова получает еще один символ и показывает подсказку "Watchpoint [Acess and modify]"
С помощью Shift + Ctrl + я вы можете посмотреть значение выбранного имени переменной, когда отладчик находится в режиме шага.
Вы также можете изменять значения переменных во время выполнения, когда отладчик находится в режиме шага.
Отладчик eclipse - очень полезный и мощный инструмент.
Это с самого начала было частью отладчика eclipse. Вам просто нужно установить точку останова в строке, где объявлена переменная. Для большего контроля вы можете щелкнуть правой кнопкой мыши точку останова и выбрать свойства точки останова, где вы можете установить, хотите ли вы останавливаться только на Access или Modification.
Пожалуйста, имейте в виду, что изменение - это фактически изменение значения для типов значений и изменение ссылки для ссылочных типов. Например, если вы установите контрольную точку модификации (watchpoint) на HashMap, тогда отладчик не остановится, если вы добавите элементы в эту хэш-карту, поскольку добавление элементов не изменяет адрес/ссылку переменной.