DebuggerX
debuggerX 是一个支持多人协同的 Java 调试代理工具。通过 JDWP 协议转发,多个开发者可以同时连接到同一个被调试程序,实现远程断点和变量共享。debuggerX is a collaborative Java debugging proxy that enables multiple developers to connect to the same debuggee simultaneously via JDWP protocol forwarding, allowing shared remote breakpoints and variable inspection.
Install / Use
/learn @ouoou/DebuggerXREADME
DebuggerX
DebuggerX
DebuggerX 是一个 Java 调试代理工具,支持多个调试器同时连接到同一个被调试程序,实现多人协同远程调试。通过 JDWP 协议转发,它可以让多个开发者在不同位置同时对一个 Java 应用进行调试,共享断点、变量查看等调试状态。 DebuggerX is a Java debugging proxy tool that allows multiple debuggers to connect to the same debuggee simultaneously, enabling collaborative remote debugging. Through JDWP protocol forwarding, it enables multiple developers to debug a Java application from different locations at the same time, sharing debugging states such as breakpoints and variable inspection.
功能特性
- JDWP 协议支持
- 多会话管理
- 实时数据包转发
- 调试连接管理
- 自动握手处理
架构设计
项目分为以下几个核心模块:
- debuggerx-common: 通用工具和常量定义
- debuggerx-protocol: JDWP 协议实现
- debuggerx-core: 核心业务逻辑和会话管理
- debuggerx-transport: 网络传输层实现
- debuggerx-bootstrap: 启动和配置管理
使用场景
- 多人开发时竞争同一个remote debug端口,经常需要等待别人的释放。部署debuggerX可支持多人同时断点,无惧等待
- 服务器断点端口不对外开放,无法使用remote debug。将debuggerX部署在跳板机中与业务服务断点端口连接,客户端通过连接debuggerX可实现断点
使用方法
默认与提供服务的jvm部署在一起(JDWP端口默认为5005 代理端口默认为55005)
nohup java -jar debuggerx-bootstrap-1.0-SNAPSHOT.jar > ~/logs/debuggerX.log 2>&1 &
可自定义参数
# 提供调试功能jvm服务地址
-DjvmServerHost=localhost
# 提供调试功能jvm服务端口
-DjvmServerPort=5005
# 调试器代理端口
-DdebuggerProxyPort=55005
