2009-11-11 8 views
25

Mam do czynienia z problemem podczas debugowania w środowisku Eclipse 3.4.2. Wciąż dostaję wyskakujące okienko Przetwarzanie wyjątku kolejka wątków asynchronicznych java.lang.NullPointerExceptionDebugowanie Eclipse ma okno dialogowe: przetwarzanie wyjątków asynchronicznej kolejki wątków java.lang.NullPointerException

Czy ktoś wie, jaki jest dokładny problem?

Dzięki

+0

Jaką wersję Eclipse używasz? Co debugujesz, prostą aplikację Java SE? –

+0

Używam Eclipse 3.4.2, nie jest to prosta, ale złożona aplikacja Java SE. – yogsma

+0

Możesz spróbować zaktualizować, czasami Eclipse ma surowe punkty, to najwyraźniej jest wewnętrznym problemem Eclipe. W 2005 r. Wystąpił podobny błąd, debugger nie mógł skompilować niektórych wyrażeń debugowania. Możesz je zmienić lub wybrać inne opcje debugowania. Więcej informacji, którymi można się podzielić? –

Odpowiedz

36

Problem był z wyrażeń oglądania podczas debugowania. Jeśli te stare wyrażenia nie zostaną usunięte, to po prostu je analizuje, a ponieważ nie istnieją dla bieżącego programu, wciąż rzucają wyjątek wskaźnika pustego.

+3

-1 niepoprawna odpowiedź: oglądanie starych wyrażeń daje "test" \t , nie kolejka wątków asynchronicznych java.lang.NullPointerException; Błąd jest związany z oceną tablic ciągów, takich jak private String [] whereargsEN; – Noah

+0

Usunięcie starych wyrażeń naprawiło problem dla mnie. – BlueSilver

+0

Również miałem ten problem. Po przeczytaniu tego wątku właśnie usunąłem wszystkie wyrażenia z mojej listy i voila to działa. – Dave

3

Mam ten sam problem, znalazłem odpowiedni raport o błędzie: https://bugs.eclipse.org/bugs/show_bug.cgi?id=277574

Używam Eclipse 3.6.1, a raport o błędzie mówi, jest ona ustalana w 3.6.1, jednak ja nadal go zobaczyć, kiedy umieścić przerwania w Handler()

Wyjątek przetwarzania asynchronicznego kolejka gwint Wyjątek kolejki gwint przetwarzania asynchronicznego java.lang.UnsupportedOperationException

EDYCJA: Jestem w stanie zobaczyć wartość przechowywaną w tablicy ciągów, dodając wyrażenie do listy wyrażeń. Dostaję wyjątek Eclipse tylko wtedy, gdy umieściłem wskaźnik myszy nad tablicą, aby go sprawdzić. Mogę więc debugować, ale po prostu muszę pamiętać, aby wyczyścić listę wyrażeń, gdy skończę.

8

Jest to znany błąd, który grupa Eclipse aktywnie pracuje nad poprawianiem. Jest to związane z oceną zmiennych statycznych w debugerze. Często pojawia się podczas oglądania zmiennych String []. Wcześniejsze komentarze o usunięcie obserwowane zmienne są częściowo poprawne, ale tylko wtedy, gdy są one statyczne

czuwają informacje o wersji Eclipse dla bug fix

1

Eclipse Standard/SDK

Wersja: Kepler Service Release 1 Zbuduj id: 20130919-0819

Mam podobny problem ... w przypadku braku poprawki, znalazłem tymczasowe obejście.

// Spowoduje to błąd jak opisano w moim kodu ...

public static void main(String[] args) 
{ 
    public static HashMap<String, String> students = new HashMap<String, String>(); 

    ... 
} 

gdybym sperate deklaracji i inicjalizacji ... mogę uzyskać debugera do zachowywania się zgodnie z oczekiwaniami. Nie wiem, dlaczego to działa ... ale wydaje się działać dla mnie ... Mam nadzieję, że to pomaga komuś.

public static HashMap<String, String> students ; 

public static void main(String[] args) 
{ 
    students = new HashMap<String, String>(); 

    ... 
} 
0

Miałem podobny problem z gwintem przetwarzania asynchronicznego w trybie debugowania, ale z com.sun.jdi.ObjectCollectedException

Exception processing async thread queue 
    com.sun.jdi.ObjectCollectedException 

bez listy ekspresji czyszczenia, czy cokolwiek innego pomaga. Ale zauważyłem, że mój telefon działa pod środowiskiem wykonawczym ART, a kiedy zmienię z powrotem na Dalvik, błąd wątku async został usunięty.