java JNI 调试出现的错误

java JNI 调试出现的错误

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]

请在代码最后加入以下语句:System.exit(0)即可(在main函数结束时,添加system.exit(0);),

注意,只需要在这种情况下加,在正式运行时不需要。

补充说明:

return 和 system.exit()有什么区别:

1.return是返回程序上一层,system.exit()是返回程序最上层

2.return中断当前方法,system.exit()中断整个程序,应该是关闭JVM了

转自:http://blog.csdn.net/config_man/archive/2010/03/17/5390831.aspx

http://apps.hi.baidu.com/share/detail/22479756

java JNI 调试出现的错误

时间: 2024-10-08 14:00:28

java JNI 调试出现的错误的相关文章

Java JNI机制

java JNI机制 JNI概述及简单例子介绍 系统环境代指本地操作系统环境,它有自己的本地库和CPU指令集.本地程序(Native Applications)使用C/C++这样的本地语言来编写,被编译成只能在本地系统环境下运行的二进制代码,并和本地库链接在一起.本地程序和本地库一般地会依赖于一个特定的本地系统环境.比如,一个系统下编译出来的C程序不能在另一个系统中运行. ????JNI的强大特性使我们在使用JAVA平台的同时,还可以重用原来的本地代码.作为虚拟机实现的一部分,JNI允许JAVA

解决JAVA单步调试键盘输入被JDB占用的问题

解决JAVA单步调试键盘输入被JDB占用的问题 问题来源: 在完成本周任务时,编写的代码中含有Scanner类,编译及运行过程均正确,但使用JDB单步调试时,运行到输入行无法在JDB内部输入变量值. 解决方案 错误原因:JDB占用了控制台,导致无法在调试窗口进行输入输出操作. 解决步骤: 1.打开两个终端,一个用来远程监听,一个用来JDB单步调试. 2.在终端1输入以下命令进行监听远程控制: java -Xdebug -Xrunjdwp:transport=dt_socket,address=8

Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败 及sql2008外围服务器

转载:Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败 错误原因如下: Exception in thread "main" org.hibernate.exception.JDBCConnectionException: Cannot open connection at org.hibernate.exception.SQLStateConverter.convert(SQLStateConver

关于vs2013调试的偶然错误发现与总结(vs2013的承载进程)---ShinePans

当项目的属性选择为 启用 vs2013承载进程 或出现一下错误: 尝试运行项目时出错:未能加载文件或程序集"GroupBoxTest" 或它的某一个依赖项.给定程序集名称"..." 或它的某一个依赖项,给定程序集名称或基本代码无效.(异常来自 HRESULT:0x80131047) 这是由于启用了 vs 2013的承载项进程 关于承载进程的好处:(vshost.exe) 启用承载进程可能会对某些 API 的调用产生影响. 在这些情况下,有必要禁用承载进程以返回正确的

当写listview的onItemClick的方法时写Toast的参数context写成this出现can't resolve method ’make text(OnClickListener,java.lang.String,int)'的错误,原因

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Fruit fruit = fruitList.get(position); //Toast.makeText(this,fruit.getName(),Toast.L

windows系统bat方式启动tomcat出现java.lang.OutOfmemoryError:PermGen Space 错误

1.问题情景: 在部署项目时,将两个应用部署到同一个tomcat下,通过startup.bat启动服务时,控制台出现出现java.lang.OutOfmemoryError:PermGen Space 错误服务器环境:    系统版本:windows server 2008 r2    安装内存:64GB    处理器:8核(具体型号记不得了) 2.解决方法: PermGen Space:全称是Permanent Generation Space,是指内存的永久保存区域,这块内存主要是被JVM存

java 断点调试

最基本的操作是:  1, 首先在一个java文件中设断点,然后运行,当程序走到断点处就会转到debug视图下, 2, F5键与F6键均为单步调试,F5是step into,也就是进入本行代码中执行,F6是step over, 也就是执行本行代码,跳到下一行, 3,F7是跳出函数 step return 4,F8是执行到最后. =========================== F8 resume 跳到下一个断点 F7 step return 返回到调用的地方(好比你按F5进入了调用函数的内部

关于java jni编译javac javah的问题

这篇文章是在安卓教程网http://android.662p.com那边分享过来的,文章说得还不错的,希望能够帮到大家的学习. javac  编译class文件命令,需要注意的是当类B中import类A时,在编译B时要包含A的路径,如 project  src  com.jl.test  A.java com.jl.test2 B.java B中importA,在编译B时应该  : javac  -cp ~/project/src  B.java       (-cp :classpath简称,

java连接数据库时出现如下错误:

java.lang.ClassNotFoundException: com.mysql.jdbc.driver at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1438) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1284) at java.lang.Class.f