Skip to content

Display debugged sub-processes as a treeview #62972

Description

Terms

  • sub-process: It’s basically a process started by a parent process (analogous to spawn in node).

Debug toolbar should show run configurations in drop-down, not processes

  • The current solution implemented within the python extension for sub-process debugging is as follows:
    • User launches some python code in VSC debugger
    • The user code in the python program then spins up a sub process
    • The Python debug adapter intercepts the above call, and launches a sub-process in a remote debugging manner (so that the VS Code debugger can attach to it).
    • The extension gets a notification about this with the new process ID and starts a debug session by attaching to the above sub-process
    • We now have a dropdown in the debug toolbar with two items:
    • First item – Original debug configuration name
    • Second item – “Child Process xyz” (name provided by the extension when starting the new debug session)

Expected behavior

  • VSC needs to provide a way to display child processes in the UI.
  • Single click to stop debugging (when debugging child processes)

Current behavior

  • Python Extension is displaying child process as another debug configuration.
  • This leads to confusions amongst users.
    • The user launched one program for debugging, why are they now getting two debug sessions, with a stop and detach button?
    • The user has to click on the red icon to stop debugging twice (first Detach then Stop).
  • If the user were to start debugging some other application such as React/node.js (or similar), then this additional item in the dropdown of the debug toolbar adds to the confusion.
    • As before, the user started debugging two applications, but they have 3 items in the dropdown.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

debugDebug viewlet, configurations, breakpoints, adapter issuesfeature-requestRequest for new features or functionalityrelease-notesRelease notes issuesverification-neededVerification of issue is requestedverifiedVerification succeeded

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions