`

ERROR: JDWP Unable to get JNI 1.2 environment, jvm->GetEnv() return code = -2

 
阅读更多

 

在eclipse中debug的时候,出现下面出错:

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]

 

一般把现在运行的main关掉,重新debug即可。实在不行可在程序最后添加System.exit(0);

 

原因的话在网上就找到一段

http://download.java.net/jdk6/docs/api/java/io/Console.html 

"Whether a virtual machine has a console is dependent upon the underlying platform and also upon the manner in which the virtual machine is invoked. 

If the virtual machine is started from an interactive command line without redirecting the standard input and output streams then its console will exist and will typically 

be connected to the keyboard and display from which the virtual machine was launched. If the virtual machine is started automatically, 

for example by a background job scheduler, then it will typically not have a console." ">http://download.java.net/jdk6/docs/api/java/io/Con..." 

翻译一下: 

虚拟机是否有一个控制台Console取决于所依赖的平台和虚拟机解析该方法的方式。如果虚拟机是从一个交互式(比如debug)的命令行中启动的,而没有重定向标准输入和输出流,

那么虚拟机会自动的连接到键盘作为标准输入,并且把启动虚拟机的地方作为标准输出。如果虚拟机是自动启动的,例如通过后台的一个任务计划,那么典型的情况就是没有Console控制台......。 

 

 

分享到:
评论

相关推荐

    idea远程调试代码(图文详细)

    2. 当控制台(Console)窗口中显示“Connected to the target VM, address: '127.0.0.1:4001', transport: 'socket'”,表示已成功连接到远程服务器。 3. 此时,可以像调试本地代码一样设置断点、查看变量值等。 ##...

    JDWP 远程命令执行 检查工具

    JDWP 远程命令执行检查工具,JDWP(Java DEbugger Wire Protocol):即Java调试线协议,是一个为Java调试而设计的通讯交互协议,它定义了调试器和被调试程序之间传递的信息的格式。说白了就是JVM或者类JVM的虚拟机都...

    jvm tomcat eclipse 远程 断点 debug 调试 jpda

    【JVM远程断点调试】 Java虚拟机(JVM)的远程断点调试是一种强大的工具,允许开发者在不中断正常生产环境的情况下,对部署在远程服务器上的应用进行调试。这通常涉及使用Java Debug Wire Protocol (JDWP) 来实现...

    深入Java调试体系(JPDA-JDWP)

    JPDA 主要由三个部分组成:Java 虚拟机工具接口(JVMTI),Java 调试线协议(JDWP),以及 Java 调试接口(JDI),本系列将会详细介绍这三个模块的内部细节、通过实例为读者揭开 JPDA 的面纱。

    jvm工具、参数调优&调试技巧

    ### JVM工具、参数调优与调试技巧 #### 一、JVM工具 ##### 1. jps:虚拟机进程状况工具 - **简介**:`jps` 是一个用于显示当前运行的所有Java虚拟机进程(JVMs)的简单工具。它会列出每个JVM的PID(进程ID)以及...

    schmetterling:从浏览器调试 clojure

    用法要使 Schmetterling 调试进程,您必须使用以下编译器选项打开dt_socket : -agentlib:jdwp=transport=dt_socket,server=y,suspend=n因此,对于 leiningen,在您的 project.clj 中添加以下行: :jvm-opts ["-...

    Idea远程调试代码JDK1.8

    - 远程调试命令的关键参数是`-agentlib:jdwp`,它告诉JVM启用Java调试接口(Java Debug Wire Protocol,JDWP)。命令示例如下: ```shell -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 ...

    Spring Boot开启debug模式

    - 或者,你可以在配置的`VM options`中添加`-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005`,这样应用会在启动时暂停并等待debug连接。 3. **设置IDEA的debug连接**: - 选择`Run` -> `...

    jvm调试示例代码

    在Java开发过程中,JVM(Java虚拟机)的调试是一项重要的技能,它能帮助开发者深入理解程序运行时的内部机制,解决性能问题和错误。本示例代码集合旨在提供一个实践平台,帮助开发者掌握JVM调试技巧。我们将探讨以下...

    积分管理系统java源码-eladmin:根据原eladmin项目进行改造。整合ELK、ShardingSphere多数据源、多Redis、消

    2>&1 & 若外置依赖启动参数需添加。外置依赖可以大大减少jar包的体积。方便后续更新部署 -Djava.ext.dirs=lib #启动示例 nohup java --add-opens java.base/java.lang=ALL-UNNAMED -agentlib:jdwp=transport=dt_...

    jni.zip_C++ JNI_JNI 调用java_c调用java_jni_jni jdk1

    JNI,全称Java Native Interface,是Java平台标准的一部分,它为Java代码和其他语言写的代码提供了一个接口。在Java应用程序中,JNI允许Java代码与用C、C++等本地语言编写的代码进行交互,实现了Java虚拟机(JVM)与...

    如何debug你的Polish程序

    Polish是一种用于创建J2ME(Java 2 Micro Edition)应用的开发工具包,它提供了高级的编程接口和优化机制,使得开发者能够编写出运行速度快、内存占用小的应用程序。由于其特殊的编译和运行机制,在调试过程中会遇到...

    jdwp:Java调试线协议

    jdwp Java调试线协议安装$ npm i jdwp --save用法启动Java项目并连接到jvm const { launcher } = require ( 'jdwp' )const vm = await launcher . launch ( { mainClass : 'Test' , vmArgs : [ '-Dfile.encoding=UTF...

    Linux下安装JDK并配置环境变量

     OpenJDK Runtime Environment (IcedTea6 1.10.4) (rhel-1.41.1.10.4.el6-x86_64)  OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)  2. 删除默认的安装的OpenJdk  [root@localhost bin]# rpm -qa ...

    浅析JDWP远程命令执行漏洞 [ Mi1k7ea ]1

    2022/3/2 下午8:30浅析JDWP远程命令执漏洞 [ Mi1k7ea ]https://www.mi1k7ea.com/2021/08/06/浅析JDW

    NC开发环境远程调试端口配置.docx

    * 需要在服务器->应用程序服务器中,点击要启用调试服务的应用服务器,然后进入调试服务,勾选上启动(指定当服务器启动时服务器是否将尝试启动指定的服务)。 * JVM调试端口默认为7777,注意该端口不能有冲突(如有...

    云服务部署(pdf版)

    - **运行Java应用程序**:`java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=0.0.0.0:8001 xxxxx.jar` 以上是关于MySQL、Redis以及JDK在云服务环境中的部署与配置过程的详细介绍。这些...

    JAVA远程调试.txt

    - `-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787`:设置JDWP(JAVA Debug Wire Protocol)的相关选项,其中: - `transport=dt_socket`:指定传输协议为socket。 - `server=y`:表示当前是调试...

Global site tag (gtag.js) - Google Analytics