Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix breakpoint verification UI for the multi session case #40158

Closed
weinand opened this issue Dec 13, 2017 · 3 comments
Closed

Fix breakpoint verification UI for the multi session case #40158

weinand opened this issue Dec 13, 2017 · 3 comments
Assignees
Labels
debt Code quality issues debug Debug viewlet, configurations, breakpoints, adapter issues feature-request Request for new features or functionality on-testplan release-notes Release notes issues
Milestone

Comments

@weinand
Copy link
Contributor

weinand commented Dec 13, 2017

Problem:
If two (or more) concurrent debug sessions return differing verification status for a (shared) breakpoint, then the outcome in the UI is not clear, e.g. we show the verification error for the breakpoint but he breakpoint actually verified fine in one of the sessions. This should not affect the ability to hit a verified breakpoint and miss an unverified breakpoint.

3 Possible solutions:

  • The UI shows multiple breakpoint stati with a new UI: if a BP has different stati, we do not show the red dot but something else (and a hover could show the individual stati per debug session).
  • Since VS Code has the concept of an active debug session, the UI could multiplex the different breakpoint stati: the UI reflects only the status of the active debug session.
  • we use voting, e.g. we show the breakpoint verified if it got verified in at least one session.

Today VS Code uses approach 3 but we should strive for solution 2.

In addition we should clarify/improve the DAP in order to support a "don't care" verification status.

@weinand weinand added debt Code quality issues debug Debug viewlet, configurations, breakpoints, adapter issues feature-request Request for new features or functionality labels Dec 13, 2017
@isidorn isidorn added this to the On Deck milestone Dec 13, 2017
@isidorn
Copy link
Contributor

isidorn commented Jun 7, 2018

I have refactored the breakpoint model such that now there are core breakpoint attributes which are edited by user explicitly and attributes on top which belong to a debug adapter session.
So now we use the second solution in your proposel above. And it can happen that breakpoints change properties once a user switches the active debug session (for example a breakpoint can appear as verified in one session and unverified in the other, but the line number and other things can changes as well)

Since I have reafactored a big part of the model we should keep our eyes open for regressions

fixed via 57d7e6f and cf10e47

fyi @roblourens

@isidorn isidorn closed this as completed Jun 7, 2018
@isidorn isidorn modified the milestones: On Deck, June 2018 Jun 7, 2018
@isidorn isidorn added the verification-needed Verification of issue is requested label Jun 7, 2018
@isidorn isidorn added on-testplan and removed verification-needed Verification of issue is requested labels Jun 19, 2018
@isidorn isidorn added the release-notes Release notes issues label Jun 28, 2018
@weinand
Copy link
Contributor Author

weinand commented Jul 2, 2018

Removed text from June release notes:

In VS Code, breakpoints are shared between all debuggers and every debugger can decide whether to honor a breakpoint or adjust the breakpoint position, for example, move it to a different line. This results in dynamic state that is associated with a breakpoint for the duration of a debug session. With parallel debug sessions, there can even be multiple states per breakpoint. Previously, VS Code had merged the different states, which sometimes resulted in a confusing experience. With this release, the breakpoint UI now properly reflects only the state of the active debug session. Focusing on a different debug session properly updates the breakpoint state.

@isidorn
Copy link
Contributor

isidorn commented Jul 2, 2018

@weinand ok, I see you put it under the notable changes - works for me!

@vscodebot vscodebot bot locked and limited conversation to collaborators Jul 22, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
debt Code quality issues debug Debug viewlet, configurations, breakpoints, adapter issues feature-request Request for new features or functionality on-testplan release-notes Release notes issues
Projects
None yet
Development

No branches or pull requests

2 participants