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

Continue request shouldn't fall back on continuing all threads, when a single thread can't be continued #221

Open
roblourens opened this issue Jan 16, 2018 · 5 comments
Labels
clarification Protocol clarification

Comments

@roblourens
Copy link
Member

"Continue" currently says that if it can't continue just one thread, it should continue all threads.

The protocol shouldn't specify a fallback on different behavior - instead the continue request should fail, while a continue request without a threadID should mean "continue all threads".

@weinand:

I agree that the fallback semantics is a bad idea. Please file DAP protocol bug for this.

But please note that it might be impossible to fix this in the current version of the DAP in a non-breaking way.

cc
@mostafaeweda
@ebluestein

@ebluestein
Copy link

Sounds totally reasonable to me. Another option would be a supportsContinueSingleThread capability, and the client would query this flag to determine if this debugger has the current fallback behavior or not

@gregg-miskelly
Copy link
Member

gregg-miskelly commented Jan 16, 2018

Suggestion: change the doc to "if it can't continue just one thread, a debug adapter can continue all threads and issue a continued event indicating a threads have been continued". This is what the C# debug adapter does.

@ebluestein
Copy link

I think the issue here is that the UI has no way of knowing if the debugger is going to go ahead and continue all threads, and therefore has no way of opting out if that's not the right behavior.

For example, if I could right click a paused thread in a Threads view, and choose "continue this thread" in some UI - I think the correct behavior would be to either continue that one thread, or give the user an error. Resuming all threads is not what I asked for

@ebluestein
Copy link

(I consider this to be pretty low priority though)

@gregg-miskelly
Copy link
Member

Got it.

I think the docs probably still should be adjusted in a way similar to what I suggested as I don't think we want to change VS Code (or other debugger UIs) to have them stop passing thread ids to the primary execution commands. But it might be useful to support some sort of new capability to opt-out of the explicitly single-threaded execution commands.

@weinand weinand self-assigned this Jan 30, 2018
@weinand weinand transferred this issue from microsoft/vscode-debugadapter-node Oct 19, 2021
@weinand weinand added the clarification Protocol clarification label Oct 19, 2021
@weinand weinand removed their assignment Nov 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clarification Protocol clarification
Projects
None yet
Development

No branches or pull requests

4 participants