DWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)异常启动tomcat的web程序时会先弹出javaw.exe「建议收藏」

DWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)异常启动tomcat的web程序时会先弹出javaw.exe「建议收藏」DWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)异常启动tomcat的web程序时会先弹出javaw.exe

大家好,又见面了,我是你们的朋友全栈君。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

若存在相关配置,那就说明java启动了远程调试端口,就会存在该漏洞;此时JVM虚拟机作为调试的服务提供端,通过8787端口监听一个连接,而调试器通过该连接与虚拟机进行交互。

我这里是eclipse的tomcat的VM设置不对,原先是:

DWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)异常启动tomcat的web程序时会先弹出javaw.exe「建议收藏」

原先是:${jrebel_args} -Dcatalina.base=”E:\eclipse_work_app\.metadata\.plugins\org.eclipse.wst.server.core\tmp0″ -Dcatalina.home=”D:\apache-tomcat-7.0.70″ -Dwtp.deploy=”E:\eclipse_work_app\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps” -Djava.endorsed.dirs=”D:\apache-tomcat-7.0.70\endorsed”-Xms256m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=1024


乱起八糟的我也看不懂,于是,百度一圈就留下,-Dcatalina.base=”E:\eclipse_work_app\.metadata\.plugins\org.eclipse.wst.server.core\tmp0″

这一句,其他的都删掉,再次启动就好了。原因应该是执行运行其他gwt项目的时候tomcat的VM设置受到了干扰。运行一次之后,VM的配置如下:

-Dcatalina.base=”E:\eclipse_work_app\.metadata\.plugins\org.eclipse.wst.server.core\tmp1″ -Dcatalina.home=”D:\apache-tomcat-7.0.70(3)\apache-tomcat-7.0.70″ -Dwtp.deploy=”E:\eclipse_work_app\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps” -Djava.endorsed.dirs=”D:\apache-tomcat-7.0.70(3)\apache-tomcat-7.0.70\endorsed”

系统会给我们自动配置。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106179.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2020 年中国程序员薪资和生活现状调查报告[通俗易懂]

    2020 年中国程序员薪资和生活现状调查报告[通俗易懂]作者|程序员客栈来源|ID:proginnwx根据中国互联网络信息中心(CNNIC)近日发布第44次《中国互联网络发展状况统计报告》。截至2019年06月,中国网民规模为8.54亿,较2018年底增加2598万。网上外卖用户规模达4.21亿,较2018年底增长1516万;网络视频用户规模达7.59亿,较2018年底增长3391万;我…

    2022年9月1日
  • 阿里云服务器搭建私人云盘

    阿里云服务器搭建私人云盘1、配置安全组端口新建安全组并开放以下端口2、利用Git来搭建私人云盘1、利用Workbench点击立即登录进行远程连接2、安装docker容器docker是一款开源的容器运行工具,提供了一套便捷的服务打包、分发、部署方式。我们将要部署的服务就是通过docker容器来运行的。docker-compose是一款基于docker的容器编排工具。有了它,我们通过一份配置文件就能启动所有需要的服务。依次执行以下命令,通过自动化脚本完成docker..

    2022年5月23日
  • JLINK V9项目启动【jlink接口定义】【开启VCOM(虚拟串口)功能】「建议收藏」

    JLINK V9项目启动【jlink接口定义】【开启VCOM(虚拟串口)功能】「建议收藏」jlink接口定义摘录于:https://blog.csdn.net/u014124220/article/details/50829713仿真器端口 连接目标板 备注 1.VCC MCU电源VCC VCC 2.VCC MCU电源VCC VCC 3.TRST TRST Tes…

    2022年5月28日
  • 程序化交易入门_程序化交易的经验之谈

    程序化交易入门_程序化交易的经验之谈这里会分享最新的个人新文章及转载不错的程序化交易文章!![在这里插入图片描述](https://img-blog.csdnimg.cn/20190520205748924.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lpc2h1aW…

    2022年10月8日
  • php Spreadsheet Csv,使用 PhpSpreadsheet 实现读取写入 Execl「建议收藏」

    php Spreadsheet Csv,使用 PhpSpreadsheet 实现读取写入 Execl「建议收藏」使用PhpSpreadsheet实现读取写入Execl由吴亲库里创建于1年前,最后更新于1年前版本号#19742views1likes0collects前言这两天需要做一个支持读写微软办公软件的功能模块.最底下会说下自己下一步的想法,我先找了PhpSpreadheet这个第三方的扩展包,功能很完善,是一个纯PHP编写的库,看了官方文档,目前支持XLS,XML,XLSX,ODS…

    2022年9月15日
  • 老生常谈–什么是装箱什么是拆箱「建议收藏」

    老生常谈–什么是装箱什么是拆箱「建议收藏」我们知道.NET具有两个数据类型:值类型和引用类型。因为值类型没有指针引用,不是分配在托管堆中,也不会被GC回收,因此它比引用类型更加高效。但有时我们需要将一种类型的变量转换为另一种类型,这时我们就可以使用装箱/拆箱。一、什么是装箱装箱就是将值类型的数据存储在引用类型的变量中。例如在方法中创建了int类型的变量,需要将这个值类型赋值给一个引用类型的变量,这就意味着对这个值进行了装箱操作,代码如下:voiddemo(){intnum=25;//这是装箱操作objectobjN

    2022年10月21日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号