java-debugging-jdwp-client
A JDWP (Java Debug Wire Protocol) client — the transport and command layer behind
jdwp-mcp, a native Java debugger exposed as an MCP server.
It implements the subset of JDWP that practical debugging needs: connection management, breakpoint and event-request operations, stack and variable inspection, expression evaluation, and execution control.
This is not a supported public API
It is published because jdwp-mcp depends on it, and for no other reason. cargo publish rejects a
bare path dependency, so a binary on crates.io requires its library to be there too. That requirement is
the whole story of this listing.
- The surface is shaped for one consumer — these modules are the seams
jdwp-mcpneeded, exposed where it needed them, not a curated library API. - Anything may change in any release, including a patch one. The version check in the repository keeps the version number honest about what changed; it does not promise that nothing will.
- Nothing is deprecated before removal, because there is no deprecation cycle to run.
None of that means it does not work — it is the code a real debugger runs against real JVMs, tested against JDK 11, 17 and 21. It means the cost of a break lands on you, and that pinning an exact version is the only safe way to depend on it.
You probably want the debugger
If you came here for Java debugging rather than for the protocol layer:
Or download a prebuilt binary — no Rust toolchain needed — from the releases page.
Documentation
The narrative lives on the items themselves; see docs.rs.
Design decisions are in the repository's docs/adr/, and CONTEXT.md is the glossary — stop point,
trace, snapshot, hit and suspension all have precise meanings that are not guessable from the
type names.
License
MIT — see LICENSE.