C # - это язык, с которым мне удобнее всего, но я использую Java на работе. Думаю, вы можете сказать, что мне очень комфортно пользоваться IDE Visual Studio. Одна из вещей, которые мне нравились в его отладчике, - это то, что я могу поставить часы переменные («Выражения» в Eclipse) для любого выражения. Так что я мог без проблем взглянуть на значения определенных публичных или непубличных полей, методов вызова и т. Д., Пока я отлаживаю.
Не похоже, что я могу сделать то же самое в Eclipse. Мне приходится прибегать к вызову связанного метода получения для поля (при условии, что он у него есть). Если его нет, мне нужно либо временно добавить его, чтобы я мог просмотреть его и не забыть удалить его, когда я закончу, либо я просто SOL.
Как я могу поместить выражение наблюдения для объекта в одно из его закрытых полей? Или я просто делаю это неправильно и мне нужно создавать специальные выражения, чтобы их просматривать?
(Или есть лучший способ получить нужную мне информацию?)
например,
У меня есть HttpServletRequest
и хотите следить за requestURI
. Если я просто смотрю на переменную запроса, она перечисляет множество ее полей и слишком много информации. Меня интересует только одна вещь в объекте, поэтому, чтобы минимизировать это, я хочу добавить выражение наблюдения для этой одной вещи.
Имя поля, по-видимому, requestURI
, поэтому я добавил выражение: request.requestURI
. Eclipse выдает ошибку, говоря, что это не поле (это просто не общедоступно). Вместо того, чтобы переходить непосредственно к полю, мне пришлось перейти к получателю: request.getRequestURI ()
, и он отлично работает. Но я не всегда могу рассчитывать на доступность получателя.
Представление "Переменные"
Представление "Выражения"