性能问答>关于 JAVA Agent/Debugger 设计的一些疑问>
3回复
2年前

关于 JAVA Agent/Debugger 设计的一些疑问



jdwp 协议是 JVMTI 的通信基础,而且 IDE 都是直接实现 jdwp 协议来和目标 JAVA 进程(远程或者本地)进行 DEBUG 通信的。

如果我想设计一个 Agent 程序,没有动态 Attach 的需求,启动时指定就好。

那么我是不是也可以通过 DEBUG 这种方式,启动参数上直接开启 jdwp 调试端口,然后我的 Agent 直接实现 jdwp 协议,和目标 java 进程通信。

-agentlib:jdwp=transport=dt_socket,address=127.0.0.1:60557,suspend=y,server=n 

而不是像 Arthas 那样,在 Instrumentation/JVMTI 上又弄了一套私有的通信协议和客户端通信?

-javaagent:/path/to/debugger-agent.jar
1742 阅读
请先登录,查看3条精彩评论吧
快去登录吧,你将获得
  • 浏览更多精彩评论
  • 和开发者讨论交流,共同进步