错误:JDWP无法获得JNI 1.2环境


74

在Eclipse中调试后出现此错误。虽然调试成功。

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]

这是什么意思?


当尝试调试使用网络和图像API的一段代码时,我在NetBeans 6.1中遇到了完全相同的问题。您是否试图使用网络或图像API?
大家

当然,我没有使用Image API。您使用网络是什么意思?如果您的意思是我正在使用套接字。
卡洛斯·布兰科

是的 网络API就是我的意思-套接字/ Http
所有人

Answers:


36

看起来像http://bugs.sun.com/view_bug.do?bug_id=6476706,它的优先级较低,但仍未修复。绝对是野马的错误,但没有明确的解释(根据错误报告者的说法,似乎是随机发生的)。


在该URL上,我收到一条消息“此错误不可用”。错误编号正确吗?还是已删除该错误?
MarnixKlooster恢复状态莫妮卡2011年

@MarnixKlooster,该错误以及有关它的详细信息向我显示。
Xonatron,2012年

@EaterOfCorpses现在又回来了:D
Boann

1
很高兴看到截至2015年11月,这一问题仍未解决。
堆积

1
你好!从2018年开始 我只是遇到了错误:p
Swastik Raj Ghosh,

79

只需添加System.exit(0); 到您的main方法的末尾即可。

那就是你要做的。


1
我尝试了一下,它奏效了。但是后来我将其取出,它仍然有效。从上面公认的解决方案看来,这可能是一个定时问题,这使得很难一直忠实地重现该问题。
Xonatron

这对我有用。.我也在运行Java版本“ 1.6.0_29” Java(TM)SE运行时环境(内部版本1.6.0_29-b11)
AngryITguy 2012年

我得到与@Xonatron相同的结果。奇怪的!
费德勒2015年

1
听起来就像通过在这里和那里增加睡眠来解决线程问题
Newtopian 2015年

@Xonatron如果不是从主类抛出错误怎么办?
Mohammadreza Khatami

4

这显然是JVM错误。这是无害且不可预测的。


3
嗯,不是那么无害,它导致我的程序自发地失败了。
史蒂夫·本内特

7
嗯,通常这意味着“其他原因导致您的程序失败”,然后在退出时执行此操作,但是我想可能会有一些新情况。
bmargulies

它应该在JVM关闭期间发生。所以您的程序还是完成了。
Florian F

3

发生像本教程一样简单的事情

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

如果运行程序多次过快会发生,这与系统性能有关吗?

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

@所有人我都使用图像API通过网络读写文件时遇到了这个问题,当我运行使用本地文件的程序时,这种情况不会发生。验证我的结果后,我确认它确实没有任何危害(至少在调试中)。现在,我正在阅读这篇文章,我不再研究它。


0

我注意到当我使用存储在USB驱动器上(有时是工作网络上)的工作区时,会发生这种情况。这不是主要问题,并且似乎对我的任何程序的执行没有任何影响。我测试了@Vasile Surdu的添加System.exit(0);到main方法末尾的解决方案,它可以工作。Another solution is to restart eclipse大多数时候对我有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.