You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Java Debug Server is an implementation of Visual Studio Code (VSCode) Debug Protocol. It can be used in Visual Studio Code to debug Java programs.
Features
Launch/Attach
Breakpoints
Exceptions
Pause & Continue
Step In/Out/Over
Variables
Callstacks
Threads
Debug console
Background
The Java Debug Server is the bridge between VSCode and JVM. The implementation is based on JDI (Java Debug Interface). It works with Eclipse JDT Language Server as an add-on to provide debug functionalities.
Repository Structure
com.microsoft.java.debug.core - the core logic of the debug server
com.microsoft.java.debug.plugin - wraps the debug server into an Eclipse plugin to work with Eclipse JDT Language Server
Installation
Windows:
mvnw.cmd clean install
Linux and macOS:
./mvnw clean install
Usage with eclipse.jdt.ls
To use java-debug as a jdt.ls plugin, an LSP client has to launch jdt.ls with initializationOptions that contain the path to the built java-debug jar within a bundles array:
Editor extensions like vscode-java take care of this.
Once eclipse.jdt.ls launched, the client can send a Command to the server to start a debug session:
{
"command": "vscode.java.startDebugSession"
}
The response to this request will contain a port number on which the debug adapter is listening, and to which a client implementing the debug-adapter protocol can connect to.