microsoft / microsoft/debug-adapter-protocol

Update Debug Adapter Protocol to support notifying of function breakpoints

Open
#8 5 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature-request
Dominant language
HTML
Stars
1.8k
Forks
173
Avg merge
7d 7h
Merged PRs (30d)
2

Description

Raised as a result of the suggestion from @weinand on https://github.com/Microsoft/vscode/issues/59746

The debug protocol provided by vscode allows the IDE to inform the debug server of function breakpoints that should be set by sending a SetFunctionBreakpoints request. This request contains an array of objects of type FunctionBreakpoint.

The debug protocol also allows the debug server to inform the IDE that breakpoints have been set by sending a BreakpointEvent. This event contains information on whether the breakpoint was added, removed or changed and contains an object of type Breakpoint representing the event.

Unfortunately this Breakpoint type is for source breakpoints and doesn't contain the ability to specify information about function breakpoints. I tried a few different things by not setting line numbers, source file etc. but they all resulted in issues with the breakpoints view in vscode.

I had a look through debugSession.ts in the vscode source (see line 365) and there is some logic for function breakpoints, but it doesn't apply if the reason on the event is 'new'

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.

Research direction

Start by reading the issue's description of SetFunctionBreakpoints, BreakpointEvent, and FunctionBreakpoint, then inspect debugSession.ts around line 365 in the referenced VS Code source. Determine how the protocol can represent function-breakpoint notifications without breaking the breakpoints view; done means the protocol and its consumers can distinguish and display those notifications.

Written by the indexing model from the issue text.

Assessment

Tech stack
vscode
Domain
devtools
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.