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

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

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

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

Ответ 1

В итоге я попытался сделать что-то просто, сбросив перспективу Debug, который, казалось, работал:

Окно = > Перспектива = > Reset Перспектива...

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

Ответ 2

Окно → Показать вид → Переменные

Ответ 3

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

Он сделал трюк!

Ответ 4

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

Ответ 5

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

Ответ 6

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

Ответ 8

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

Ответ 9

В моем случае переменная не отображалась, потому что в настройках debuger (в моем случае xdebug) я изменил Max children/max data/max глубину массива на большие значения... я reset config и он работал

Ответ 10

Если вы можете прыгать на контрольные точки, это нормально для Reset Perspective.

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

Ответ 11

Windows → showView → variable

или вы можете reset перспектива

окна → настройки → перспектива → восстановление По умолчанию

Ответ 12

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

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

Ответ 13

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

Ответ 14

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

Ответ 15

У меня была такая же проблема, и после установки MinGW я мог видеть переменные.

Ответ 16

Я использовал стиль Fender выше, но выбран для "Watch" переменной. Однажды на вкладке "Выражения" я перешел на вкладку "Переменные" и Voila - переменные снова в бизнесе.

Ответ 17

Ни один из решений не работал у меня. То, что решило мою проблему, было под стрелкой вниз в окне Variable. В опции Layout мне нужно было выбрать "Variables View Only", а затем снова увидеть значения переменных.

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

Ответ 18

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

Ответ 19

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

Ответ 20

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

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

Даже если у меня уже были оба значения "имя" и "значение", я не выбрал и снова их выбрал, нажмите " ОК", и столбец появился.

Ответ 21

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

Ответ 22

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

Ответ 23

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

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

Ответ 24

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

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

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

Ответ 25

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

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

Я использую LiClipse с PyDev здесь: вы должны убедиться, что вы установили точку останова, которая будет запущена, прежде чем завершить ваш скрипт. Кроме того (еще одна глупая ошибка, которую я сделал), эта точка останова должна быть на строке, на которой действительно есть код (не может быть на пустой строке).

Ответ 26

Для меня решение проблемы состояло в том, чтобы правильно настроить 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

Ответ 27

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

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

Удачи!