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?

cóż, właściwie
źródło
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.

cóż, właściwie
źródło
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
24

Okno -> Pokaż widok -> Zmienne

jaciefan
źródło
3
Okno -> Pokaż widok -> Debugowanie -> Zmienne
ermanno.tedeschi
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ę!

lfvv
źródło
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.

tonyeva
źródło
5

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

Michał
źródł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

Lova Chittumuri
źródło
3

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

Błotnik
źródło
to działa dla mnie (w Neon) i jest łatwiejsze i mniej uciążliwe niż resetowanie perspektywy
Paul 'Sparrow Hawk' Biron
2

Okazało się, że muszę usunąć deklaracje statyczne, jeśli chcę zobaczyć zmienne, ale to działa lepiej ...

Modyfikuj / wyświetlaj zmienne statyczne podczas debugowania w Eclipse

Społeczność
źródło
1
To była najprostsza odpowiedź: naciśnij strzałkę rozwijania po prawej stronie „zmiennych, punktów przerwania, okna Wyrażenia -> Java -> Pokaż zmienne statyczne.
djm
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?).


źródło
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

Reda
źródł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

Francesco
źródło
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”

Vic Seedoubleyew
źródło
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)

cool_display_name
źródło
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.

Joshua Richardson
źródło
0

Miałem ten sam problem i po zainstalowaniu MinGW mogłem zobaczyć zmienne.

Wuschelbeutel Kartoffelhuhn
źródło
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.

kondensator 24
źródło
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.

anatp2015
źródło
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.

Okolicznościowy
źródło
0

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

Shady Sirhan
źródło
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.

Dom
źródło
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.

K. Andy wang
źródło
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.

Luke Hutchison
źródło
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.

romsky
źródło
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

user50912
źródło
-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

GBV
źródło
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!

Jonnathan moreno
źródło