Zmienne nie są wyświetlane podczas debugowania w Eclipse


99

Używam Eclipse Galileo dla programistów.

Kiedy uruchamiam w trybie debugowania, bieżące zmienne i ich wartości nie pojawiają się w oknie Zmienne . Okno pozostaje puste, gdy przechodzę przez kod po punkcie przerwania.

Ostatniej nocy to działało, więc jestem zdumiony. Czy jest jakiś powód, dla którego tak się dzieje i jakaś wskazówka dotycząca rozwiązywania problemów?


11
Po prostu zamknij okno zmiennej. I otwórz ponownie.
Gaurav

Zdarzyło mi się to i właśnie ponownie uruchomiłem Eclipse i znowu zadziałało.
Michał

Odpowiedzi:


124

Skończyło się na tym, że spróbowałem czegoś łatwego, resetując perspektywę debugowania, która wydawała się działać:

Window => Perspective => Reset Perspective ...

Dzięki za komentarze.


1
Ciągle napotykam ten sam problem i resetowanie perspektywy działa dla mnie. dzięki za wysłanie tego.
stephenbayer

1
Właściwie zrobił to albo ten, albo dodatkowy krok @tonyeva, ale nie zadziałał od razu (tj. W obecnym stosie), więc pomyślałem, że problem nie zniknął. Jednak gdy debugger zatrzymał się w innym miejscu, zmienne zaczęły się pojawiać.
haridsv

1
Czasami trzeba ponownie kliknąć wątek, aby zaktualizować panel Zmienne. W panelu Debug znajdź wątek z napisem (Suspended) obok niego, rozwiń go i kliknij górną ramkę stosu.
Stephen Kids:

Dziękuję Ci! Pomogło to rozwiązać mój problem z wartościami vars! Używam Eclipse NEON
user1697575

1
Pracowałem nad Neonem, świetna odpowiedź!
wykupiony


18

Mój problem polegał na tym, że nie widziałem nazw zmiennych, ale tylko wartość. Po dłuższej próbie znalazłem rozwiązanie: Kliknij strzałkę w dół (w zakładce Zmienne degub) -> Układ -> pokaż kolumny

Udało się!


1
dzięki, pomogło mi to również w zaćmieniu Marsa. Strzałka w dół znajduje się w prawym górnym rogu paska zmiennych.
tworec

Pomogło mi to również w Eclipse Mars, mimo że ponowne uruchomienie i usunięcie widoku w ogóle nie pomogło.
Dave

14

Zresetowanie perspektywy nie było dla mnie wystarczające, musiałem najpierw usunąć zakładkę „Zmienne”, a następnie zresetować perspektywę (co przywróciło kartę Zmienne do stanu roboczego). Jeszcze jedna rzecz niewymieniona powyżej, która może pomóc innym - gdy karta zmiennych nie działa, jej tytuł jest pisany kursywą (cokolwiek to oznacza). Kiedy działa, wraca do normalnej czcionki.


5

Zrestartowałem Eclipse i znowu zadziałało.


Ja też. Zamykanie i ponowne otwieranie okna „Zmienne” nie działało, ale zamykanie Eclipse i ponowne uruchamianie tak.
Mark Madej

Musiałem zamknąć projekt, zrestartować zaćmienie, ponownie otworzyć projekt, a potem okno Zmienne znów zaczęło działać. Super dziwne.
Max

4

Windows -> showView -> zmienna

lub możesz zresetować perspektywę

windows -> preferencje -> perspektywa -> przywróć domyślne


3

spróbuj kliknąć zmienną prawym przyciskiem myszy i wybierz opcję Sprawdź, a następnie powinna pojawić się w wyskakującym okienku


to działa dla mnie (w Neon) i jest łatwiejsze i mniej uciążliwe niż resetowanie perspektywy
Paul 'Sparrow Hawk' Biron


2

U mnie zadziałało: Miałem pusty widok Zmienne dla górnej ramki stosu. Wybrałem dolną ramkę stosu, a następnie ponownie wybrałem górną, a widok Zmienne jakoś się odświeżył. Uwaga: używam Eclipse Mars, więc wydaje się, że ten błąd powrócił w tej wersji (a może jest to inna, z tymi samymi objawami?).


1

W moim przypadku zmienna się nie pokazała bo w ustawieniach debugera (w moim przypadku xdebug) zmieniłem Max children / max data / max głębokość tablicy na duże wartości ... Zresetowałem config i zadziałało


1

Jeśli możesz przeskakiwać na punkty przerwania, możesz zresetować perspektywę.

W wersji Eclipse: Luna Service Release 2 (4.4.2) Build id: 20150219-0600 Zauważyłem, że nie tylko widok zmiennej był pusty, ale także przyciski do nawigacji po wykonaniu (przyciski funkcyjne F5, F6, F8) zostały wyłączone. W takim przypadku przejdź do widoku debugowania, kliknij prawym przyciskiem myszy wiersz z żółtym symbolem pauzy i wybierz opcję, taką jak „Wznów”. W następnym punkcie przerwania widok zmiennej zostanie automatycznie wypełniony, a przyciski nawigacji po wykonaniu zostaną włączone. Nie potrafię wyjaśnić, dlaczego


1

Ponadto: proces musi zostać zawieszony, aby Eclipse wyświetlał zmienne. Jeśli działa, Eclipse nie pokaże żadnej zmiennej.

Aby zawiesić wątek, wybierz wątek w widoku „debugowania” i naciśnij „Wstrzymaj”


1

Nie znalazłem rozwiązania po wypróbowaniu powyższych odpowiedzi - Może jest to bardzo specyficzne dla mojego przypadku - Rozwiązaniem było upewnienie się, że opcja „Skip All Breakpoints” nie jest włączona w Eclipse Run -> Skip All Breakpoints (ctl-alt-B) (przełącznik)


0

Miałem ten problem, ponieważ eclipse uważa, że ​​wykonywany kod jest zakomentowany. Istnieje opakowanie #ifndef, a warunek w części projektu jest oceniany jako false. Niestety, CDT nie był wystarczająco sprytny (Helios lub Keppler), aby zdać sobie sprawę, że nie zawsze jest fałszywy, a podczas przechodzenia przez tę część kodu okno zmiennych nie działa. Nadal mogę sprawdzać wartości poszczególnych zmiennych.



0

Użyłem powyższego stylu Fendera, ale wybrałem zmienną „Obserwuj”. Na karcie Wyrażenia właśnie przeszedłem do karty Zmienne i Voila - zmienne w biznesie.


To nie daje odpowiedzi na pytanie. Aby skrytykować lub poprosić autora o wyjaśnienie, zostaw komentarz pod jego postem - zawsze możesz komentować własne posty, a gdy zdobędziesz wystarczającą reputację , będziesz mógł komentować każdy post.
Lal

Pierwotne pytanie brzmiało: jakikolwiek powód, dla którego tak się dzieje? Pozostałe odpowiedzi, w tym zaakceptowana odpowiedź, również nie stanowią odpowiedzi na pytanie, ale wyjaśniają, jak rozwiązać problem. Moja odpowiedź jest taka sama: oto, co działa w moim systemie. Ale jestem pewien, że po prostu próbujesz mi pomóc. Dzięki!
kondensator 24

Dzięki za zakaz, Lai. Jesteś jedną klasą.
kondensator

0

Żadne z rozwiązań nie zadziałało. To, co rozwiązało mój problem, znajdowało się pod strzałką w dół w oknie Zmienna. W opcji Układ musiałem wybrać „Tylko widok zmiennych”, a następnie mogłem ponownie zobaczyć wartości zmiennej.

Ten problem również pojawia się nagle znikąd. W jednej chwili debugowanie działało, a w następnej nie.


0

Ja też mam ten problem: EclipseNeon + Tomcat8 nie pokazuje wszystkich zmiennych w trybie debugowania. Wypróbowałem powyższe sugestie bez powodzenia. Następnie zdebugowałem ten sam projekt internetowy za pomocą NetBeans8 + GlassFish4 i wszystkie zmienne są wymienione z wartościami. Następnie zdebugowałem ten sam projekt sieciowy za pomocą NetBeans8 + Tomcat8 i nie wszystkie zmienne są wymienione. Następnie zainstalowałem GlassFish4 dla EclipseNeon i debugując ten sam projekt internetowy, wszystkie zmienne są wymienione z wartościami. Tak więc problem tkwi w Tomcat8. Uwaga: uruchom Eclipse jako administrator, aby zainstalować GlassFish4; z NetBeans jest łatwiejsza instalacja innych serwerów.


0

Mój prbolem był taki, że użyłem OpenMP , wyłączyłem OpenMP, a następnie pojawiły się zmienne lokalne.


0

Zresetowanie widoku i ponowne otwarcie Eclipse nie pomogło mi, ale to zadziałało:

kliknij przycisk strzałki w dół w oknie Zmienne -> Układ -> Wybierz kolumny -> Zaznacz dowolne kolumny, które chcesz.

Mimo że zaznaczyłem już zarówno „nazwa”, jak i „wartość”, odznaczyłem je i wybrałem ponownie, kliknąłem „ OK ” i pojawiła się kolumna.


0

W moim przypadku myślę, że potencjalna przyczyna nie została Variables Viewpoprawnie zainicjowana. Zmienne Widok init pusty Alternatywą jest wpisanie innego punktu przerwania, zanim właściwy kod będzie musiał zmienić zmienne. Po dodaniu drugiego punktu przerwania (wspomnianego powyżej) zaćmienie odświeży widok i wszystko powinno znowu być normalne.


0

Możliwe, że Twój kompilator Java jest skonfigurowany tak, aby nie zachowywał informacji o zmiennych. Kliknij prawym przyciskiem myszy projekt w Eksploratorze projektów, a następnie wybierz Właściwości> Kompilator Java> Dodaj atrybuty zmiennych do wygenerowanych plików klas (używane przez debugger) . Bez tej opcji w widoku Zmienne będą widoczne tylko pola, a nie zmienne lokalne.


0

Jak w przypadku każdego złego oprogramowania, leczenie tego złego behaiviera nie istnieje. To, co jest dobre dla jednego, nie działa dla innych.

Pozwoliłem debugerowi zatrzymać się raz na punkcie hamowania, potem znowu po raz drugi i za trzecim razem bestia pokazała Widok Zmienny ze wszystkimi danymi.


0

Zakładając, że masz widok debugowania tak, jak lubisz i nie chcesz go resetować za każdym razem, gdy pojawia się ten błąd, spróbuj tego. Zakłada się, że „Widok debugowania” ma otwarte widoki „Wyrażenia” i „Zmienne”.

Kliknij dwukrotnie kartę Wyrażenia (aktualną kartę z tekstem, a nie „paskiem okna”). To zmaksymalizuje to. Powtórz, aby przywrócić go do poprzedniego rozmiaru / lokalizacji. To powinno zresetować wszystko oprócz wyrażeń. Powtórz czynność dla zakładki zmiennych, a spowoduje to zresetowanie wyrażeń.

To zadziałało dla mnie w systemie Windows 10 z Eclipse:
Wersja : 2018-09 (4.9.0)
Identyfikator kompilacji : 20180917-1800
Java : jdk1.8.0_171


-1

Dla mnie rozwiązaniem problemu było prawidłowe skonfigurowanie xdebug. Dodałem w php.ini te linie kodu:

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

xdebug.remote_enable = 1

xdebug.show_local_vars = 1

Brakowało mi ważnej części: xdebug.remote_enable = 1


To nie ma nic wspólnego z Eclipse i Javą. Czy na pewno odpowiadasz na pytanie, na które chciałeś odpowiedzieć?
Wasilij Liaskovsky

-1

Jeśli szukasz „podglądu na żywo obiektu, z którym pracujesz”, gdy najedziesz kursorem i zobaczysz tylko nazwę, upewnij się, że umieściłeś punkt przerwania w metodzie, którą testujesz. W przeciwnym razie po najechaniu kursorem otrzymasz tylko nazwę metody.

W każdym razie mam nadzieję, że to komuś pomoże. Wypróbowałem wszystkie powyższe kroki, które są świetne! ale nadal nie mogłem oglądać na żywo obiektu, z którym pracowałem. Może to być błąd debiutanta.

Powodzenia!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.