-
Notifications
You must be signed in to change notification settings - Fork 29.3k
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
debug - additional steps should not be sent until previous step has completed #5966
Comments
@isidorn since you've removed the workaround for the issue with stopped events overtaking request results, it should now be possible to disable the step action UI until a previous action has finished, right? |
@weinand theoretically yes. If we go into 'continue' mode as soon as we send a step event the step actions will be nicely disabled. However this will also cause the variables tree to clear and that will have tree flickering as a result between step commands. So I have to experiment more with this to see what is the best solution. Clearing the tree with a timeout sounds like a potential solution. |
Now we are immediatly disabling these actions, but only fully transitioning to running after 500ms (to avoid tree flickering). This should not break any behavior, though we should keep our eyes open. |
When will this be in Alpha? I'd like to try it out with our debugAdapter. |
@chuckries the commit is already available in the latest OS X alpha build. And I've just started Windows and Linux builds. |
VSCode Version:
It is possible to spam a debug adapter with step or continue requests before previous requests have finished. This can cause multiple issues, including these:
Here is a log from the C# debugger of the commands (C) received from VS Code and the Response (R) and Events (E) returned by the debug adapter:
It can easily be seen from this log that additional step commands are sent before stopped events are received for previous steps. I have also seen cases where things appear to happen in this order:
Here the StackTrace command in 4 corresponds to the stopped event from 2, but a new step has already been issued and the process is running, meaning a stacktrace cannot be retrieved.
The UI should prevent sending these step commands until it has received a stopped event rather than relying on each debug adapter to protect themselves from this behavior.
The text was updated successfully, but these errors were encountered: