Skip to content

start_debugging: dapLaunchArgs.noDebug silently disables every breakpoint; warn at intake when breakpoints are set #710

Description

@debugmcpdev

Summary

noDebug is a typed field of CustomLaunchRequestArguments and dapLaunchArgs accepts it (additionalProperties: true), so it reaches every adapter that spreads its config — Python, Go, Ruby and Java always have, and JavaScript does since PR #706 forwards unrecognised launch keys. Every adapter then honours it as the DAP spec says: js-debug logs "Running with noDebug, so debug domains are disabled" and never enables the Debugger domain, so no breakpoint binds and no stop ever comes.

The result is not "the program ran without a debugger" but a confusing session: a short script ends stopped with the #467 warning telling the caller to "check the file path and line" of breakpoints that were never going to bind; a server stays running with no warning while the caller waits for a stop that cannot arrive.

Found by the review of PR #706.

What would help

Not consuming the key — that would make one adapter ignore a standard DAP flag — but a cross-adapter intake warning at start_debugging when noDebug === true and the session has breakpoints (or breakOnExceptions other than none): say the debugger is off for this launch and the breakpoints will not fire. The tool-validation.ts / debuggee-tools.ts intake warnings (breakOnExceptions is a top-level start_debugging parameter) are the pattern.

Refs #467, #706.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions