2010-02-08 25 views
65

Otrzymuję ten błąd po debugowaniu w środowisku Eclipse. Debugowanie się powiedzie.BŁĄD: JDWP Nie można uzyskać środowiska JNI 1.2

ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2 
JDWP exit error AGENT_ERROR_NO_JNI_ENV(183): [../../../src/share/back/util.c:820] 

Co to znaczy?

+0

Mam taki sam problem z poziomu NetBeans 6.1 podczas próby debugowania fragmentu kodu, który wykorzystuje zarówno sieć, jak i interfejs API obrazu. Czy próbowałeś użyć albo sieci, albo obrazu API przez przypadek? – Everyone

+0

Na pewno nie korzystałem z interfejsu Image API. Co masz na myśli, mówiąc o korzystaniu z sieci? Używałem gniazd, jeśli o to ci chodzi. – Omar

+0

Tak; sieciowe API to co miałem na myśli - Sockets/Http – Everyone

Odpowiedz

27

Wygląda na to, że http://bugs.sun.com/view_bug.do?bug_id=6476706 ma niski priorytet i nadal nie jest poprawiony. Zdecydowanie jest to bug Mustanga, ale nie ma jasnego wyjaśnienia (wydaje się, że występuje dość losowo, zgodnie z raportami błędów na górze).

+0

Pod tym adresem URL pojawia się komunikat "Ten błąd nie jest dostępny." Czy numer błędu jest poprawny? Czy błąd został usunięty? –

+0

@MarnixKlooster, błąd pojawia się dla mnie, wraz ze szczegółami na ten temat. – Xonatron

+0

... i teraz działa również dla mnie. Dzięki @MatthewDoucette –

4

Najwyraźniej błąd JVM. Jest nieszkodliwy i nieprzewidywalny.

+3

Hmm, nie tak nieszkodliwe, spowodowało to, że mój program spontanicznie zawodził. –

+7

Um, ogólnie rzecz biorąc oznacza to "coś innego spowodowało, że twój program się nie powiódł", a potem robi to po drodze, ale przypuszczam, że może być coś nowego. – bmargulies

67

Po prostu dodaj System.exit(0); na końcu swojej głównej metody.

To wszystko, co musisz zrobić.

+0

Próbowałem tego i zadziałało. Ale potem wyjąłem go i nadal działało. Z przyjętego rozwiązania wynika, że ​​może to być kwestia czasu, która sprawia, że ​​bardzo trudno jest wiernie odtworzyć to cały czas. – Xonatron

+0

To działa dla mnie .. Używam również wersji java "1.6.0_29" Java (TM) SE Runtime Environment (kompilacja 1.6.0_29-b11) – giulio

+0

Otrzymuję ten sam wynik co @Xonatron. Dziwne! – Federer

0

@Everyone Mam do czynienia z tym problemem, używając interfejsu API do odczytu i zapisu obrazu w sieci, gdy uruchamiam program pracujący z lokalnymi plikami, tak się nie dzieje. Po sprawdzeniu moich wyników potwierdziłem, że tak naprawdę nie wyrządza żadnej szkody (przynajmniej w moim debugowaniu). Teraz, gdy czytam ten post, przestałem się nim interesować.

3

dzieje się coś tak prostego jak tym tutorialu

//trim spaces 
String s2 = "Welcome!"; 
int len1 = s2.length(); 
System.out.println(len1); 
String s3 = s2.trim(); 
System.out.println(s3.length()); 

się stanie, jeśli program prowadzony zbyt szybko kilka razy więc coś zrobić z wydajności systemu?

ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2 
JDWP exit error AGENT_ERROR_NO_JNI_ENV(183): [../../../src/share/back/util.c:838] 
0

Zauważyłem, że dzieje się tak, gdy używam obszaru roboczego zapisanego na dysku USB, a czasami w sieci mojej pracy. To nie jest poważny problem i nie ma żadnego wpływu na wykonanie któregokolwiek z moich programów. Przetestowałem rozwiązanie @ Basile Surdu, dodając System.exit(0); na końcu głównej metody i działa. Another solution is to restart eclipse który działa dla mnie przez większość czasu.