Skip to content

[FEATURE] Breakpoint management: list_breakpoints / remove_breakpoint / clear_breakpoints tools #236

Description

@debugmcpdev

Motivation

Agents currently have write-only breakpoints: set_breakpoint exists, but there is no way to enumerate what is set, remove one, or clear all without tearing down the session. Long agentic debugging sessions accumulate stale breakpoints that cause confusing extra pauses; bisection workflows (move the window each iteration) need cheap removal.

Proposed API

  • list_breakpoints {sessionId}[{id, file, line, condition?, logMessage?, verified}]
  • remove_breakpoint {sessionId, breakpointId} (or {file, line})
  • clear_breakpoints {sessionId, file?} — all breakpoints, or all in one file

Implementation sketch

Breakpoints are already tracked per-session in the session store (queued + verified state). Listing is a read of that store; removal re-sends DAP setBreakpoints for the affected file with the remaining set (DAP replaces the file's whole array, so removal = re-send minus one).

Acceptance criteria

  • list reflects verified state and includes adapter-assigned ids.
  • remove/clear take effect immediately while paused or running.
  • Unit tests over the session store diff logic; e2e for at least Python + mock adapter.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions