microsoft / microsoft/vscode-java-debug

Support running command before attaching debugger

Open
#120 12 comments 3 reactions 1 assignee View on GitHub

@testforstephen is already working on this.

Since Nov 3, 2017.

ai-triaged attach enhancement feature request
Dominant language
TypeScript
Stars
591
Forks
429
Avg merge
1d 9h
Merged PRs (30d)
19

Description

It's possible to debug tests running from a Maven build by calling mvn -Dmaven.surefire.debug test, then attaching the debugger to a remote Java process on port 5005, like

{
    "type": "java",
    "name": "Debug (Attach) to Maven tests",
    "request": "attach",
    "hostName": "localhost",
    "port": 5005
}

So this requires 2 separate actions from the user. Ideally, one would define a new 'surefire-debug' task for mvn -Dmaven.surefire.debug test and add "preLaunchTask": "surefire-debug" to the launch configuration. The problem is running that command doesn't return an exit code, since it's waiting for a debugger to attach, so the prelaunch task never finishes and the debugger never kicks in: you're stuck.
So it'd be nice if the debugger detected port 5005 is responding, before the preLaunchTask finishes.
If preLaunchTasks absolutely must finish before the debugger kicks in, then we might need to have a preLaunchCommand (or whatever better name) instead. Debugger bootstrap waits until port 5005 responds following execution of preLaunchCommand, then proceeds.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.