Отладка в Eclipse (Java); не может навести курсор на переменную при разрыве, чтобы просмотреть значение - PullRequest
5 голосов
/ 08 января 2010

Я использую Eclipse для кодирования Java (для Android), и я пытаюсь отладить код, как я обычно делаю (хотя обычно я делаю C #).

Из того, что я могу сказать, отладка в Eclipse действительно ДЕЙСТВИТЕЛЬНО плоха. Я не знаю, делаю ли я что-то не так, но это кажется ужасным.

Это код, который запускается, я получаю какое-то исключение, и я хочу увидеть, что это за исключение, разбив фразу «catch» и просмотрев переменную «e»:

try
{
    ConnectivityManager connectivityManager = (ConnectivityManager) this.getSystemService( Context.CONNECTIVITY_SERVICE );
    NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
    NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
    NetworkInfo.State state = mobNetInfo.getState();
}
catch(Exception e)
{
    Log.v("MyAp", e.toString()); // I break on this line, and want to see what e is
}

проблема в том, что я не могу увидеть «е», удерживая на нем мышь (как я могу в моей любимой Visual Studio).

Теперь я знаю, что могу открыть вкладку «Переменные», в которой перечислены все переменные, доступные с момента, когда я ломаюсь, но это отчасти отстой.

Точно так же, как я знаю - Eclipse не может «зависать» над интересующей вас переменной, как в Visual Studio?


РЕДАКТИРОВАТЬ 1: Спасибо за ответы. Тем не менее, все еще есть та же проблема = (

Ответы [ 8 ]

8 голосов
/ 17 декабря 2010

Перейдите в Настройки-> Java-> Редактор-> Наведение и установите флажок «Значения переменных». Если вы хотите, чтобы Hover происходил автоматически, оставьте раздел Key Modifier пустым.

4 голосов
/ 13 января 2012

Кажется, в Eclipse есть ошибки, связанные с этим:

Итак, да, предполагается работать, но это не всегда. У меня проблемы с некоторыми занятиями. Кажется согласованным, какие классы работают, а какие нет, вероятно, связанные с тем, из какого класса исходит класс и т. Д., Но я не имею ни малейшего представления о том, что его вызывает. Хотелось бы увидеть какой-нибудь сценарий воспроизведения.

1 голос
/ 22 февраля 2012

Я также обнаружил, что в представлении «Отладка» (вкладка с маленькой зеленой ошибкой в ​​виде значка), где отображаются все потоки, Eclipse иногда не показывает значения переменной, если текущий поток с прерыванием не является выбран.

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

1 голос
/ 08 января 2010

Это может показаться немного странным, но знаете ли вы, что окно кода имеет фокус? Я заметил, что иногда появление всплывающей подсказки зависит от того, имеет ли представление фокус или нет (что, я думаю, является ошибкой SWT).

1 голос
/ 08 января 2010

Вы также можете выделить переменную, щелкнуть правой кнопкой мыши и выбрать ее просмотр. Затем он появляется на вкладке часов. Вы также можете установить автоматические точки останова, которые срабатывают при возникновении исключения, а не в конкретной строке кода. Для просмотра переменной, как в Visual Studio в последних версиях Eclipse, есть опция not hover.

0 голосов
/ 17 ноября 2014

Нашел, перейдите: «Настройки»> «Java»> «Редактор»> «Наведение» - Javadoc (нажмите на него и уберите оттуда клавиши Ctrl + Shift), затем он должен работать нормально.

0 голосов
/ 12 июля 2012

Перейдите на Preferences -> Java -> Editor -> Hovers и нажмите Restore Defaults.

0 голосов
/ 08 января 2010

Насколько я могу судить, вы должны находиться в режиме отладки, чтобы наводить курсор на объекты и видеть их свойства. По крайней мере, так работает моя копия Eclipse 3.4.

Конечно, вы также должны быть в режиме отладки, чтобы иметь кнопки Step Into, Step Over, Continue и т.д ... ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...