IDEA利用jdpa协议本地远程调试服务器上的程序
原创 2022-08-20 00:45:59
6593阅读
坚持看到最后,后面有彩蛋!!! 背景/原理介绍: 远程debug的意思是启动一个Java进程,启动一个debugger进程,将两者连接起来,利用debugger来debug Java进程。事实上目前所有的IDE的debug功能都是通过远程debug方式来实现的,它们都利用了一个叫做JDPA(Java Platform Debugger Architecture)的技术。利用JDPA我们除了能够在I
文章目录1、JVMTI 介绍1.1 Agent的工作形式1.2 JDPA 相关介绍2、Instrumention 机制2.1 Instrumention支持的功能2.2 基于Instrumention开发一个Agent2.2.1 编写premain函数2.2.2 打成jar包2.2.3 编写测试类2.3 如何在运行时加载agent3、参考资料 1、JVMTI 介绍JVMTI(JVM Tool In
java的整个调试体系为JDPA,Oracle提供了高级的jdi接口以方便使用java来连接调试程序进行相应的调试。这样,只需要调用相应的java接口,就能进行打断点,记录断点,然后继续运行,清除断点这样基本的断点调试手法了。1. 连接远程JVM连接其它JVM称之为附加(attach)操作,当前实现中有2种,如果是本地JVM,则通过Process的方式即可,如果是远程,则需要通过socket的方式