JPDA实现远程debug

一、 JPDA 是什么 ?

JPDA 是 JAVA 平台调试架构(Java Platform Debugger Architecture),它是 Java 虚拟机为调试和监控虚拟机专门提供的一套接口。
Oracle 文档位置 : https://docs.oracle.com/javase/8/docs/technotes/guides/jpda/
JPDA 由三个规范组成: JVMTI(JVM Tool Interfacace )、JDWP(Java Debug Wire Protocol )、 JDI(Java Debug Interface ),以供调试器在桌面系统的开发环境中使用。 Java 虚拟机工具接口(JVMTI) 定义了VM必须提供的用于调试的服务。 Java调试线协议(JDWP) 定义了正在调试的进程和调试器前端之间的信息和请求的格式。该格式实现了 Java 调试接口(JDI). Java 调试接口在用户代码级别定义信息和请求。
JVMTI 模块化: 描述了虚拟机提供的功能,以便允许调试在此 VM 下运行的 Java 编程语言应用程序。在 JPDA 中, JVM TI 是由 VM 实现的,客户端是 JPDA 后端。在 JPDA 的参数实现中, JVM TI 是由 Java HotSpot VM 实现的,客户端是作为本机共享库(jdwp.so,jdwp.dll等)提供的后端参考实现。随 JDK 一起提供。 Java HotSpot VM 以外的许多 VM 都实现 JVM TI 。
JDWP 模块化: Java 调试线协议(JDWP) 描述了调试信息和调试对象与调试对象与调试器之间的请求的格式。在 JPDA中,前端(在调试过程中)和后端(在调试对象过程中)之间存在通信通道-JDWP 描述了在此通道上流动的数据格式。在 JPDA 的参考实现中,后端的参考实现中,后端的参考实现提供了此通道的调试对象,以及前端的参考实现提供调试端
JDI 模块化: Java 调试接口(JDI)提供了用于调试 Java 编程语言应用程序的纯 Java 编程语言接口。在 JPDA 中,JDI 是调试对象进程中虚拟机的调试器进程中的远程视图。它是由前端实现的,而类似调试器的应用程序(IDE 、调试器、跟踪器、监视工具等)是客户端, JDI可以由具有应用程序静态视图的系统来实现。它可以由具有与 JDWP/前端完全不同的机制的系统来实现,该机制用于手机信息或控制 VM

二、利用 tomcat 的 jpda 实现线上 debug, 操作如下:

说明: 我这个是在 windows 下进行的
第 一 步,将项目打包,并将项目放到 tomcat 的 webapps 目录下,如图:
在这里插入图片描述
第 二 步,运行你的项目。来到 tomcat 目录下,运行 catalina jpda start 命令,等待项目启动完成,在浏览器中输入登录入口(没有修改 tomcat 端口配置的话,默认是 8080 端口) 在这里插入图片描述
第三步、检查项目是否正常启动并运行(可以访问,表示我们服务端模拟成功) 到目前这一步与我们使用编译器启动给我们的视觉效果是一样的,下一步是重点

第四步、用编译器打开你的项目,设置远程调试 。Edit Configurations -> Remote 如图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第五步,根据我们自己的需要,在自己的想要的地方打断点,就可以进行线上调试啦!!!

备注: 目前项目大多部署在云服务器上 , 记得对应的端口开放哈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值