Podczas debugowania kodu Java ciągi znaków w widokach „Zmienne” i „Wyrażenia” są wyświetlane tylko do określonej długości, po czym Eclipse wyświetla „...”
Czy istnieje sposób na sprawdzenie całego ciągu? (To łagodzi ból związany z dodawaniem instrukcji logowania do debugowania wszędzie)
Odpowiedzi:
W widoku Zmienne można kliknąć prawym przyciskiem myszy panel Szczegóły (sekcja, w której wyświetlana jest treść ciągu) i wybrać menu podręczne „Maksymalna długość…”. Ta sama długość dotyczy wyskakującego okienka inspektora wyrażeń i kilku innych miejsc.
źródło
W widoku Zmienne kliknij zmienną prawym przyciskiem myszy i wybierz Zmień wartość . Jeśli twoja zmienna jest ogromna, musisz poczekać kilka minut (w tym przypadku Eclipse nie reaguje na polecenia), ale ostatecznie Eclipse pokaże całą zmienną.
źródło
"data:image/bitmap;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQE... (length: 22869)"
. Ustaw opcję „Maksymalna długość”, która nie działa, a także opcję „Zmień wartość”.Jeśli masz naprawdę długi łańcuch, używam innej strategii: zrzucam go do pliku. Mam fragment kodu, którego używam w widoku Display, który jest oceniany w celu zrzucenia danych do pliku. Używam Commons IO, ale możesz to zrobić tylko metodami JDK.
Oczywiście będziesz potrzebować pliku Commons IO JAR w swojej ścieżce klas, aby to zadziałało. Jeśli nie, skorzystaj z JDK.
źródło
Najlepszym sposobem wyświetlenia wartości String z widoku debugowania zaćmienia jest poniższy sposób.
1) Przełącz się do widoku debugowania w Eclipse
2) Wybierz żądaną zmienną w panelu zmiennych.
3) Kliknij prawym przyciskiem myszy obszar wyświetlania panelu zmiennych, w którym wyświetlana jest wartość, i kliknij opcję Maksymalna długość. Wprowadź maksymalną wartość znaków w okienku szczegółów konfiguracji.
4) Pozdrawiam
źródło
Gdy debugger osiągnie punkt, w którym chcesz uzyskać wartość String, po prostu wpisz instrukcję sysOut
Wybierz powyższą instrukcję, kliknij prawym przyciskiem myszy -> Wykonaj
Wyświetli wartość na konsoli
źródło
W przypadku debugowania opartego na javascript w eclipse, metoda „zmień wartość” i metoda „Maksymalna długość” nie powiodły się. Jedynym rozwiązaniem jest dodanie wymaganego obiektu do obserwacji ( Wyrażenia ), a następnie kliknięcie obserwowanego wyrażenia prawym przyciskiem myszy w celu wybrania opcji „Załaduj pełną wartość” to działa dla mnie, ale nawet to wstawia niechciane "\ n" na wyjściu .
Uwaga - „Maksymalna długość” musi być ustawiona, aby „Załaduj pełną wartość” działała, ponieważ ładuje wartości do maksymalnej długości (domyślnie w zaćmieniu jest 10000). Zapoznaj się z powyższą odpowiedzią, aby zobaczyć, jak ustawić maksymalną długość.
źródło
W Eclipse Mars nie ma wartości „maxLength”. „Zmień wartość” działa tylko ze „Zmiennymi”, a nie „Wyrażeniami”, więc żadne z powyższych nie działa dla mnie.
A wyrażenie jest ucięte w środku, a nie na końcu. Myślę, że zmienili domyślne zachowanie.
Jedyną rzeczą, która działa dla mnie, jest rozszerzenie szerokości kolumny nazwy wyrażenia i kliknięcie wyrażenia, aby zaznaczyć je wszystkie, aby zobaczyć pełną zawartość.
źródło
Nic z powyższego nie działało u mnie, ponadto niektórych elementów interfejsu użytkownika w moim Eclipse nie można znaleźć zgodnie z opisem. Używam STS 4.3.1.
Wartość, której potrzebowałem, była naprawdę duża, jest częścią ogromnego żądania JSON. Obejściem problemu jest użycie wyrażenia w konsoli Eclipse Debug Shell i wyprowadzenie podłańcucha całej wartości. Ponieważ możesz zobaczyć wartość częściową, sprawdź ją i użyj kilku ostatnich literałów jako pozycji do wyprowadzenia następnej części ciągu. Powtarzaj to podejście, aż uzyskasz to, czego potrzebujesz:
źródło