Skip to content

Debug: StoppedEvents do not reflect in UI for non-active debug sessions #190973

Closed as not planned
@mblout

Description

@mblout

Does this issue occur when all extensions are disabled?: Yes

  • VS Code Version: 1.81.1
  • OS Version: any

Steps to Reproduce:

  1. Run the vscode-mock-debug example, and launch TWO "Debug readme.md" debug sessions. The first one will show an expanded call stack, but after the second launch, they will both have collapsed call stacks.

  2. expand the second one, so you see only threads, and use the "step" control on that thread to step. Notice that the variables do not show for the stopped thread, and the call stack does not expand to show the current frame.

This happens because it does not focus on stopped events from the adapter for sessions that are not the currently focused session in the UI.

For this mock-debug use-case, it doesn't seem terrible, since you can easily expand/select a stack frame to get it to work, because you're using the Call Stack UI for stepping

I have a use-case where I'm controlling my backend's active thread with the GDB/MI '-thread-select" command (yes, I know it's deprecated, but our GDB-like debugger requires it). I can issue commands from a terminal to change thread, but I cannot get that to reflect in the UI unless the session I am sending commands to is the active one. And there is no API for me to set the active session.

Having an API to explicitly set the active session would be useful.
But would it also make sense to set the active session when the UI receives an event from a adapter?

Metadata

Metadata

Assignees

Labels

info-neededIssue requires more information from poster

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions