Skip to content

Java Debugger Extension

issuelens[bot] edited this page Sep 20, 2026 · 1 revision

Java Debugger Extension

microsoft/vscode-java-debug owns the VS Code-side Java debugger extension. This page records the extension's model-facing Java launch guidance; debug-protocol handling remains documented in Java Debug Server.

Model-facing Java launch failure policy

At source revision 63a6b9b5360ef66bdca2f7ebb32f2ff76384f25a, the extension's Java launch context and java-launch-troubleshooting skill direct run/launch requests to the debugger language-model tools. For debug_java_application:

  • After the first failure or timeout, report and diagnose the result; do not automatically retry the tool or relaunch through terminal commands.
  • A timeout means startup is unconfirmed. One get_debug_session_info check and inspection of existing terminal output are allowed; do not poll repeatedly or stop the original launch solely because the wait expired.
  • A new launch attempt is permitted only after an identified cause is fixed or the user explicitly requests a retry. Check for an existing session first and do not replace an active session without explicit restart intent.

This is extension-side tool and guidance behavior, not a claim about Java Debug Server DAP handling or target-JVM state.

Validation boundary

test/languageModelToolLaunchPolicy.test.ts covers both launch wait modes, confirmed startup, returned failures, exceptions, disabled no-config debugging, timeout telemetry, and consistency between manifest/instruction/skill guidance. The test asserts that timeouts are reported as unconfirmed startup without an automatic relaunch or stop of the original session.

Sources

Merged in microsoft/vscode-java-debug PR #1701, source revision 63a6b9b5360ef66bdca2f7ebb32f2ff76384f25a:

Clone this wiki locally