Java Debug Wire Protocol support This is a reasonably complete implementation, but only messages that are actually generated by debuggers have been implemented. The reasoning behind this is that it's better to leave a call unimplemented than have something that appears implemented but has never been tested. An attempt has been made to keep the implementation distinct from the VM, with Debugger.c acting as a sort of portability layer, so that the code might be useful in other projects. Once you get multiple simultaneous events and debugger requests with thread suspension bouncing around, though, it's difficult to keep things "generic".