Skip to content
Branch: master
Go to file
Code

Latest commit

testforstephen committed bf689a6 Jul 6, 2020
Display the method return value when stepping out (#336)
* Show the method return value when stepping out

Signed-off-by: Jinbo Wang <jinbwan@microsoft.com>

* Clear the cached method results when pause/continue current thread

Signed-off-by: Jinbo Wang <jinbwan@microsoft.com>

* Add an icon to method return value

Signed-off-by: Jinbo Wang <jinbwan@microsoft.com>

* Refine the key for the return value

Signed-off-by: Jinbo Wang <jinbwan@microsoft.com>

* Handle the emoji display support issue for different platform

Signed-off-by: Jinbo Wang <jinbwan@microsoft.com>

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time

README.md

Java Debug Server for Visual Studio Code

Overview

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:

{
    "initializationOptions": {
        "bundles": [
            "path/to/microsoft/java-debug/com.microsoft.java.debug.plugin/target/com.microsoft.java.debug.plugin-<version>.jar"
        ]
    }
}

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.

License

EPL 1.0, See LICENSE file.

About

The debug server implementation for Java. It conforms to the debug protocol of Visual Studio Code.

Resources

License

You can’t perform that action at this time.