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


99

Я использую Eclipse Galileo для разработчиков.

Когда я запускаю в режиме отладки, текущие переменные и их значения не появляются в переменных окне . Окно остается пустым, когда я просматриваю свой код после точки останова.

Прошлой ночью это работало, поэтому я в недоумении. Любая причина, по которой это может происходить, и какие-либо советы по устранению неполадок?


11
Просто закройте это окно переменных. И откройте его снова.
Gaurav

Это случилось со мной, я только что перезапустил Eclipse, и он снова заработал.
Michal

Ответы:


125

В итоге я попробовал что-то легкое, сбросив перспективу отладки, которая, похоже, сработала:

Окно => Перспектива => Сбросить перспективу ...

Спасибо за комментарии.


1
Я продолжаю сталкиваться с этой же проблемой, и сброс перспективы помог мне. спасибо, что разместили это.
Stephenbayer 06

1
Фактически, либо этот, либо дополнительный шаг от @tonyeva сработал, но он сработал не сразу (то есть в текущем стеке), поэтому подумал, что проблема не исчезла. Однако, когда отладчик остановился в другом месте, переменные начали появляться.
haridsv

1
Иногда вам нужно снова щелкнуть поток, чтобы обновить панель переменных. На панели «Отладка» найдите поток со значком (приостановлено) рядом с ним, разверните его и щелкните верхний фрейм стека.
Стивен Кидсон,

Спасибо! Это помогло решить мою проблему со значениями vars! Я использую Eclipse NEON
user1697575 02

1
Работал над Neon, отличный ответ!
выкуплено


18

Моя проблема заключалась в том, что я не видел имена переменных, а только их значение. После долгих попыток я получил решение: нажмите стрелку вниз (на вкладке переменных degub) -> Макет -> показать столбцы

Это сработало!


1
Thakns, мне это тоже помогло с затмением Марса. Стрелка вниз находится в верхнем правом углу панели вкладок переменных.
tworec

Это также помогло мне в Eclipse Mars, хотя перезапуск и удаление представления совсем не помогли.
Дэйв

14

Для меня было недостаточно сброса перспективы, мне пришлось сначала удалить вкладку «Переменные», а затем сбросить перспективу (что вернуло вкладку «Переменные» в рабочее состояние). Еще одна вещь, не упомянутая выше, которая может помочь другим - когда вкладка переменных не работает, заголовок вкладки выделяется курсивом (что бы это ни значило). Когда он работает, он возвращается к обычному шрифту.


5

Я перезапустил Eclipse, и он снова заработал.


Я тоже. Закрытие и повторное открытие окна «Переменные» не помогло, но выход из Eclipse и перезапуск работали.
Марк Мадей

Мне пришлось закрыть проект, перезапустить eclipse, повторно открыть проект, и тогда окно переменных снова начало работать. Супер странно.
Макс

4

Windows -> showView -> переменная

или вы можете сбросить перспективу

окна -> настройки -> перспектива -> восстановить значения по умолчанию


3

попробуйте щелкнуть правой кнопкой мыши по переменной и выбрать «Проверить», затем она должна появиться во всплывающем окне


это работает для меня (в Neon) и проще и менее разрушительно, чем сбросить перспективу
Пол 'Sparrow Hawk' Бирон

2

Я обнаружил, что мне нужно удалить статические объявления, если я хочу увидеть переменные, но это работает лучше ...

Изменение / просмотр статических переменных при отладке в Eclipse


1
Это был самый простой ответ: нажмите стрелку раскрывающегося
списка

2

У меня сработало следующее: у меня было пустое представление переменных для верхнего фрейма стека. Я выбрал нижний фрейм стека, затем повторно выбрал верхний, и представление переменных как-то обновилось. Примечание. Я использую Eclipse Mars, поэтому эта ошибка, похоже, вернулась в этой версии (или, возможно, это другая ошибка с теми же симптомами?).


1

В моем случае переменная не отображалась, потому что в настройках отладчика (в моем случае xdebug) я изменил Max children / max data / max array depth на большие значения ... Я сбросил конфигурацию, и она сработала


1

Если вы можете прыгать по точкам останова, можно сбросить перспективу.

В версии Eclipse: Luna Service Release 2 (4.4.2) Идентификатор сборки: 20150219-0600 Я заметил, что не только представление переменных было пустым, но также были отключены кнопки для навигации по выполнению (функциональные кнопки F5, F6, F8). В этом случае перейдите в представление отладки, щелкните правой кнопкой мыши строку с желтым символом паузы и выберите вариант, например «Возобновить». На следующей точке останова представление переменных будет автоматически заполнено, и будут включены кнопки навигации по выполнению. Не могу объяснить почему


1

Также: ваш процесс должен быть приостановлен, чтобы Eclipse отображал переменные. Если он запущен, Eclipse не покажет никаких переменных.

Чтобы приостановить поток, выберите его в режиме отладки и нажмите «Приостановить».


1

Не нашел решения после попытки вышеуказанных ответов - Возможно, это очень специфично для моего случая - Решение заключалось в том, чтобы убедиться, что опция «Пропустить все точки останова» не включена в Eclipse Run -> Пропустить все точки останова (ctl-alt-B) (переключить)


0

Я столкнулся с этой проблемой, потому что eclipse считает, что выполняемый код закомментирован. Существует оболочка #ifndef, и в части проекта условие оценивается как ложное. К сожалению, CDT не был достаточно умен (Helios или Keppler), чтобы понять, что это не всегда ложь, и при пошаговом выполнении этой части кода окно переменных не работает. Я все еще могу проверять значения отдельных переменных.



0

Я использовал стиль Fender, описанный выше, но выбрал «Наблюдать» за переменной. Оказавшись на вкладке Expressions, я просто перешел на вкладку Variables и Voila - переменные снова в деле.


Это не дает ответа на вопрос. Чтобы критиковать или запрашивать разъяснения у автора, оставьте комментарий под его сообщением - вы всегда можете комментировать свои собственные сообщения, и как только у вас будет достаточная репутация, вы сможете комментировать любое сообщение.
Лал

Первоначальный вопрос был: по какой причине это могло происходить? Другие ответы, включая принятый ответ, также не дают ответа на вопрос, но объясняют, как решить проблему. Мой ответ такой же: вот что работает в моей системе. Но я уверен, что вы просто пытаетесь мне помочь. Спасибо!
конденсатор24

Спасибо за запрет, Лай. Ты классный актёр.
конденсатор24

0

Ни одно из решений не помогло мне. Моя проблема была решена под стрелкой раскрывающегося списка в окне переменных. В опции «Макет» мне пришлось выбрать «Только просмотр переменных», после чего я снова смог увидеть значения переменных.

Эта проблема тоже внезапно появляется из ниоткуда. В один момент отладка работала, а в следующий - нет.


0

У меня тоже есть эта проблема: EclipseNeon + Tomcat8 не показывает все переменные в режиме отладки. Я безуспешно пробовал вышеуказанные предложения. Затем я отладил тот же веб-проект с помощью NetBeans8 + GlassFish4, и все переменные перечислены со значениями. Затем я отладил тот же веб-проект с помощью NetBeans8 + Tomcat8, и не все переменные перечислены. Затем я установил GlassFish4 для EclipseNeon и при отладке того же веб-проекта все переменные перечислены со значениями. Итак, проблема в Tomcat8. Примечание: запустите Eclipse от имени администратора, чтобы установить GlassFish4; с NetBeans проще установить другие серверы.


0

Моя цель заключалась в том, что я использовал OpenMP , я отключил OpenMP, затем появились локальные переменные.


0

Сброс вида и повторное открытие Eclipse мне не помогли, но у меня это сработало:

нажмите кнопку со стрелкой вниз в окне " Переменные" -> " Макет" -> " Выбрать столбцы" -> выберите нужные столбцы.

Несмотря на то, что у меня уже были отмечены как «имя», так и «значение», я снял выделение и снова выбрал их, нажал « ОК », и появился столбец.


0

В моем случае, я думаю, что потенциальная причина в Variables Viewнеправильной инициализации. Переменные Просмотр бланка инициализации Альтернативой является ввод другой точки останова до того, как в правом коде потребуется изменить переменные. После ввода второй точки останова (указанная выше) eclipse обновит представление, и все должно снова стать нормальным.


0

Возможно, ваш компилятор Java настроен так, чтобы не сохранять информацию о переменных. Щелкните правой кнопкой мыши проект в Project Explorer, затем выберите « Свойства»> «Компилятор Java»> «Добавить атрибуты переменных в сгенерированные файлы классов (используемые отладчиком)» . Без этого параметра вы увидите только поля в представлении «Переменные», но не локальные переменные.


0

Как и в случае любого плохого программного обеспечения, лечения этого неправильного поведения не существует. То, что хорошо для одного, не работает для других.

Я позволил отладчику остановиться на точке останова один раз, затем снова второй раз и в третий раз зверь показал представление переменных со всеми данными в нем.


0

Предполагая, что у вас есть вид отладки, который вам нравится, и вы не хотите сбрасывать его каждый раз, когда появляется эта ошибка, попробуйте это. Предполагается, что в вашем «Отладочном представлении» есть открытые представления «Выражения» и «Переменные».

Дважды щелкните вкладку «Выражения» (фактическая вкладка с текстом, а не «панель окна»). Это максимизирует его. Повторите, чтобы восстановить его до предыдущего размера / местоположения. Это должно сбросить все, кроме выражений. Повторите для вкладки переменных, и выражения будут сброшены.

Это сработало для меня в Windows 10 с Eclipse:
Версия : 2018-09 (4.9.0)
Идентификатор сборки : 20180917-1800
Java : jdk1.8.0_171


-1

Для меня решением проблемы была правильная настройка xdebug. Я добавил в php.ini следующие строки кода:

zend_extension = "C: \ xampp \ php \ ext \ php_xdebug.dll"

xdebug.remote_enable = 1

xdebug.show_local_vars = 1

Мне не хватало важной части: xdebug.remote_enable = 1


Это не имеет ничего общего с Eclipse и java. Вы уверены, что отвечаете на вопрос, на который хотели ответить?
Василий Лясковский

-1

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

В любом случае я надеюсь, что это кому-то поможет. Я попробовал все вышеперечисленные шаги, и это здорово! но я все еще не мог увидеть объект, с которым работал, вживую. Возможно, это ошибка новичка.

Удачи!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.