Atitit tomcat jdwp java debug laurch err jdpa remote debug
目录
2. Solu Xrunjdwp Replace agentlib 1
3.1. -agentlib和-Xdebug区别 - CSDN博客.html 4
[if !supportLists]1.1. [endif]Proble
解决ERROR_ JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)异常 - CSDN博客.html
ERROR: transport error 202: connect failed: Connection refused
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:750]
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
[if !supportLists]2. [endif]Solu Xrunjdwp Replace agentlib
Sulo jvm bug
Use -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=n
Replace agentlib
[if !supportLists]3. [endif]JDWP JDWP 协议介绍
协议分析 Packet 的结构 JDWP 传输接口(Java Debug Wire Protocol Transport Interface) JDWP 的命令实现机制 JDWP 的事件处理机制 JPDA(Java Platform Debugger Architecture) 是 Java 平台调试体系结构的缩写,通过 JPDA 提供的 API,开发人员可以方便灵活的搭建 Java 调试应用程序。JPDA 主要由三个部分组成:Java 虚拟机工具接口(JVMTI),Java 调试线协议(JDWP),以及 Java 调试接口(JDI)
其中常用的开发平台Eclipse中自带了JDWP兼容的调试器,命令行中常见的有jdb等
问题原因:该故障是JVM远程debug存在的缺陷,只有在开启远程debug端口时才会出现;原因是由于接收到不符合JDWP协议的数据包,导致JVM崩溃。要确认系统中是否存在该漏洞,可以检查java启动参数中是否有如下相关配置:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8787或者-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787
-Xrunjdwp:transport=dt_socket,server=y,address=8001,suspend=n
若存在相关配置,那就说明java启动了远程调试端口,就会存在该漏洞;此时JVM虚拟机作为调试的服务提供端,通过8787端口监听一个连接,而调试器通过该连接与虚拟机进行交互。
dt_socket:使用的通信方式
server:是主动连接调试器还是作为服务器等待调试器连接
suspend:是否在启动JVM时就暂停,并等待调试器连接
address:地址和端口,地址可以省略,两者用冒号分隔
好像agentlib更新一点。。。Xrunjdwp比较久
-Xrunjdwp agentlib
"C:\Program Files\Java\jdk1.8.0_131\bin\java.exe" -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=n "-Dcatalina.base=C:\docker1\Tomcat 8.0" "-Dcatalina.home=C:\docker1\Tomcat 8.0" "-Djava.endorsed.dirs=C:\docker1\Tomcat 8.0\endorsed" -Xms2048m -Xmx2048m -XX:MaxPermSize=512m -Dfile.encoding=GBK -classpath "C:\docker1\Tomcat 8.0\bin\bootstrap.jar;C:\docker1\Tomcat 8.0\bin\tomcat-juli.jar;C:\Program Files\Java\jdk1.7.0_45\lib\tools.jar" org.apache.catalina.startup.Bootstrap start
[if !supportLists]3.1. [endif]-agentlib和-Xdebug区别 - CSDN博客.html
- JDK 5.0以前需要指定-Xdebug和-Xrunjdwp这两个参数,以后则可以使用参数-agentlib:jdwp替代之,它们指定了JVM使用的连接器。从上面的例子代码可以看到几...
奇怪的是eclipse使用这个参数agentlib机会可以启动。。。难道wmic吧参数转换了吗
网友评论