2016-06-16 11 views
7

Jestem debugowania normalnej aplikacji Java, bez GUI, tylko wiele obliczeń i ~ 5 wywołań w stos dla głównego wątku, gdy wystąpi problem. Zasadniczo ciągle powtarza "Zbieranie danych" w lokalnym zegarku zmiennych.IntelliJ debugger utknął

enter image description here

Więc zamiast iść krok po kroku Próbowałem dodać punkt przerwania natychmiast po prasowej „Resume”. Teraz mówi "Czeka na zakończenie ostatniego polecenia debuggera". enter image description here

Czy ktoś wcześniej miał ten problem? Czy zmiana debugera jest jedynym sposobem, aby to zrozumieć?

+0

Twoje debugowanie aplikacji uruchomionej na komputerze lub zdalne debugowanie aplikacji na innym komputerze? – Kirby

+0

@ Kirby Zajmuję się debugowaniem na mojej fizycznej maszynie lokalnej. –

+0

Widziałem wcześniej problem z zdalnym debugowaniem, w którym zdalne urządzenie ma złe połączenie sieciowe. Nigdy nie doświadczyłem go do debugowania aplikacji działającej lokalnie w IntelliJ. Wygląda na to, że coś jest w konflikcie z gniazdem debugowania. Może masz uruchomioną aplikację dwa razy? Może zdalny debugowany do, zamknął debugger, a następnie otworzył go ponownie? – Kirby

Odpowiedz

8

Na IntelliJ (04.01.2017 Community Edition) dodaje rozwiązaniu problemu dla mnie:

  • Plik-> Ustawienia
  • Wpisz "toString"
  • Przejdź do budowy, wykonanie, wdrożenie -> Debugger-> Dane Wyświetlenia z wyników> Jawa
  • Znajdź "Enable 'toString()' widok obiektu:" checkbox
  • Odznacz pole

Ponownie uruchom debuger.

+0

Dzięki, koleś! Oszczędziłeś czas! – Sannek8552

1

Po prostu wpadłem na coś, co wygląda tak samo. W moim przypadku była to klasa (KafkaStream) w śladzie stosu punktów przerwania ze "złym" sposobem: toString. Metoda toString blokuje i dlatego zawiesza debugger. Przetestowałem metodę toString w głównym kodzie wiersza i zawiesiłem wątek główny (to znaczy nie jest to problem specyficzny dla debuggera).

Oto ślad stosu do mojego wątku, który uderzy punkt przerwania (na linii, która została właśnie próbuje przetestować logiczną atrybut mojej klasy):

Hung Breakpoint Stacktrace

Intellij zapewnia sposób obejść dla mojego problemu. To pozwala zastąpić jak debugger oddaje klasę:

Work Around

Jeśli problem wraca proponuję zrzut wątek (wewnątrz lub na zewnątrz IDE) i zobaczyć, co robi wątek.

+0

Przepraszamy za powyższe linki (zamiast osadzać obrazy bezpośrednio w odpowiedzi), ale gdy próbowałem dodać wykrzyknik przed linkami, otrzymałem wiadomość: "Do opublikowania zdjęć potrzebujesz co najmniej 10 punktów reputacji." –

+0

Wygląda na to, że problem KafkaStream został naprawiony w późniejszym wydaniu niż używam: https://github.com/apache/kafka/commit/fe18595492ee91a6a8a796b21c66a682ee9db4a0 –

Powiązane problemy