Как я могу просматривать закрытые поля других объектов прямо в среде IDE, когда Отладка?

C # - это язык, с которым мне удобнее всего, но я использую Java на работе. Думаю, вы можете сказать, что мне очень комфортно пользоваться IDE Visual Studio. Одна из вещей, которые мне нравились в его отладчике, - это то, что я могу поставить часы переменные («Выражения» в Eclipse) для любого выражения. Так что я мог без проблем взглянуть на значения определенных публичных или непубличных полей, методов вызова и т. Д., Пока я отлаживаю.

Не похоже, что я могу сделать то же самое в Eclipse. Мне приходится прибегать к вызову связанного метода получения для поля (при условии, что он у него есть). Если его нет, мне нужно либо временно добавить его, чтобы я мог просмотреть его и не забыть удалить его, когда я закончу, либо я просто SOL.

Как я могу поместить выражение наблюдения для объекта в одно из его закрытых полей? Или я просто делаю это неправильно и мне нужно создавать специальные выражения, чтобы их просматривать?
(Или есть лучший способ получить нужную мне информацию?)

например,

У меня есть HttpServletRequest и хотите следить за requestURI . Если я просто смотрю на переменную запроса, она перечисляет множество ее полей и слишком много информации. Меня интересует только одна вещь в объекте, поэтому, чтобы минимизировать это, я хочу добавить выражение наблюдения для этой одной вещи.

Имя поля, по-видимому, requestURI , поэтому я добавил выражение: request.requestURI . Eclipse выдает ошибку, говоря, что это не поле (это просто не общедоступно). Вместо того, чтобы переходить непосредственно к полю, мне пришлось перейти к получателю: request.getRequestURI () , и он отлично работает. Но я не всегда могу рассчитывать на доступность получателя.

the variables view
Представление "Переменные"

the expressions view
Представление "Выражения"

10
задан Jeff Mercado 16 February 2012 в 02:05
поделиться