Skip to content

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.

Notifications You must be signed in to change notification settings

wuou-learn/debuggerX

Repository files navigation

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

About

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.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages