2009-08-21 10 views
11

Zastanawiam się, czy istnieje sposób sprawdzenia wartości niezadeklarowanych zmiennych, gdy przechodzą one do funkcji, po wykonaniu tej funkcji. Na przykład, jeśli jestem debugowania i liniaW Eclipse Debugger (dla Java), czy istnieje sposób na zbadanie dowolnych wartości?

foo.setBar(baz.getBar()); 

już minął (ale jest nadal w zakresie), jak widzę, wartość tego, co dostałem przekazany do setBar()? Wiem, że widzę to na wiele innych sposobów, na przykład wchodząc w rozmowę setBar() lub przypisując baz.getBar() do zmiennej tymczasowej - ale nie o to pytam.

Edycja: Zasadniczo czuję się ukarany (przez utratę możliwości wyświetlania pewnych informacji) podczas debugowania, tylko dlatego, że nie deklaruję każdej zmiennej.

Wiem, że mógłbym sprawdzić bar po fakcie (jeśli wiem, że się nie zmienił), ale w tym przypadku nie jest to takie proste, ponieważ mam do czynienia z obiektami, które nie są tylko POJO lub JavaBeans (obiektem, który podniósł to pytanie, jest żądanie HTTP - i tak, już próbowałem go sprawdzić).

+0

być jeszcze bardziej szczegółowe, chcesz wiesz, co zostało przekazane do foo.setBar (...), nawet jeśli zostanie wywołane dwa razy? tj. jaka była pierwsza wartość i co było drugą? – akf

Odpowiedz

14

W perspektywie debugowania otwórz okno wyświetlania (Okno => Pokaż widok => Wyświetlanie), wpisz kod, który chcesz wyświetlić (np. baz.getBar()), zaznacz go, a następnie kliknij prawym przyciskiem myszy i wybierz "Wyświetl" lub użyj skrótu, aby wyświetlić jego wartość.

+0

Prawie - musiałem najpierw wybrać tekst, który chciałem wykonać. Dziękuję Ci! Nigdy nie wiedziałem o tym widoku. –

+0

Użyłem Inspekcji przez cały czas, ale jest to bardzo przydatne, gdy chcesz wypróbować dowolne bity kodu. Znacznie mniej kłopotliwe niż edycja wyrażeń przez cały czas. Dzięki za kolejną ukrytą funkcję Eclipse! =) – schonarth

4

Oczywiście można również użyć widoku "Wyrażenia" (Okno -> Pokaż widok -> Wyrażenia).

10

Znacznie prostszym sposobem jest wybranie wyrażenia (tutaj: baz.getBar()) i naciśnięcie CTRL + SHIFT + I (do sprawdzenia). Spowoduje to otwarcie okna z podpowiedziami i wszystkim, co chcesz wiedzieć.

+0

Rzeczywiście! Chociaż mniej elastyczne. –

0

w swoim zgłaszanie widzenia, dodać następujące wyrażenie

baz.getBar() 

i będzie dispayed podczas debugowania (jeśli jest widoczny dla debuggera oczywiście)

+0

Nie różni się to od [odpowiedzi Serge'a.] (Http://stackoverflow.com/a/1313418/139010) –

Powiązane problemy