Atitit tomcat jdwp java debug l

2018-06-13  本文已影响34人  ati艾龙AttilaxAkb

Atitit  tomcat jdwp java debug laurch err jdpa  remote debug

目录

1.1. Proble 1

2. Solu   Xrunjdwp  Replace  agentlib 1

3. JDWP  JDWP 协议介绍 2

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使用的连接器。从上面的例子代码可以看到几...

www.raychase.net/1519  - 百度快照

奇怪的是eclipse使用这个参数agentlib机会可以启动。。。难道wmic吧参数转换了吗

上一篇 下一篇

猜你喜欢

热点阅读