DAP Debugging

VerifiedSafe

Use VS Code debugger (DAP) to set breakpoints, step through code, and inspect runtime state.

Sby Skills Guide Bot
DevelopmentIntermediate
007/25/2026
Claude Code
#debug#dap#runtime#breakpoints#vscode

Recommended for

Our review

Uses the VS Code debugger (DAP) to set breakpoints, step through code, and inspect runtime state.

Strengths

  • LSP-informed breakpoint placement for accurate debugging
  • One-command smart debug with auto-fix and analysis
  • Supports custom expression evaluation during debugging
  • Multiple stepping modes for fine-grained control

Limitations

  • Requires VS Code debugger to be configured and running
  • Only works with languages supported by DAP
  • Bridge commands may not be available on all systems
When to use it

When you need to understand runtime behavior, trace actual execution paths, or inspect variable values dynamically.

When not to use it

For static type errors or syntax bugs; use LSP diagnostics and linting instead.

Security analysis

Safe
Quality score85/100

The skill only uses predefined debugging commands (bridge-smart-debug, bridge-inspect, bridge-recon) which are restricted to setting breakpoints, launching programs, and inspecting variables; no arbitrary shell execution, network exfiltration, or destructive actions are possible. The skill does not execute untrusted input beyond the expression evaluation in a debugger sandbox, which is standard and safe in this context.

No concerns found

Examples

Smart debug a specific symbol
Debug the function findUser in app.js to see where it fails.
Manual breakpoint at a line
Set a breakpoint at line 15 of app.js and inspect the user variable.
Step through code using MCP tools
Step over the next line of code and show me all local variables.

name: dap-debug description: Use VS Code debugger (DAP) to set breakpoints, step through code, and inspect runtime state. Invoke when you need to understand runtime behavior, not just static types. user_invocable: true allowed-tools: Bash(bridge-smart-debug *), Bash(bridge-inspect *), Bash(bridge-recon *)

Debug

Smart debug (preferred — LSP-informed)

One command: auto-fix → LSP recon → analyze → set breakpoints at suspicious lines → launch → dump variables at each hit → stop.

# With a symbol to focus on (best results)
bridge-smart-debug <type> <program> <file> <symbol>

# Without a symbol (breaks at diagnostic errors or first function)
bridge-smart-debug <type> <program> <file>

# With expression evaluation
bridge-smart-debug node app.js app.js findUser --eval "typeof user" --eval "users.length"

The script automatically decides WHERE to break based on LSP analysis:

  • Lines with type errors from diagnostics
  • Callers that invoke the target symbol (where bad data originates)
  • Reference sites of the symbol
  • The symbol's definition
  • Falls back to first function if nothing else found

Manual inspect (when you know the exact line)

bridge-inspect <type> <program> <file> <line>
bridge-inspect node app.js app.js 15 --condition "user === undefined" --eval "users.length"

For interactive stepping, use MCP tools directly

When you need to step through code line by line, fetch DAP tools via ToolSearch:

  • mcp__vscode-bridge__debugSetBreakpoints + debugStart + debugWaitForEvent
  • mcp__vscode-bridge__debugStepOver / debugStepInto / debugStepOut
  • mcp__vscode-bridge__debugGetVariables + debugEvaluate
  • mcp__vscode-bridge__debugContinue + debugStop

When to use debug (not just LSP)

  • Bug depends on runtime data (what value a variable actually has)
  • Dynamic language where static types aren't available
  • Need to trace actual execution path
  • Want to inspect state without modifying code
Related skills