remove lifecycle handling heuristics around parent/child sessions
See original GitHub issueSince we now have a managedByParent
option in DebugSessionOptions
we should now consider to remove any previous lifecycle handling heuristics that we added around parent/child sessions.
For details see #128058
Issue Analytics
- State:
- Created 2 years ago
- Comments:7 (7 by maintainers)
Top Results From Across the Web
add a 'managedByParent' property to 'DebugSessionOptions'
When creating child debug sessions programmatically, ... remove lifecycle handling heuristics around parent/child sessions #131442.
Read more >Unusual Parent-Child Relationship - Elastic
Identifies Windows programs run from unexpected parent processes. This could indicate masquerading or other strange activity on a system. ... Rule indices:.
Read more >Remove Parent from Request Generated from HR Lifec...
In one of our HR Lifecycle Events for offboarding, a Request is generated to IT to review the user's Knowledge articles.
Read more >ViewGroup - Android Developers
Here is a complete implementation of a custom ViewGroup that implements a simple FrameLayout along with the ability to stack children in left...
Read more >A Randomized Controlled Trial of Parent-Child Care (PC ...
The current study presents the first RCT of PC-CARE, a 7-session dyadic parenting intervention (trial number removed for blind review).
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
@roblourens
js-debug
works differently thannode-debug
ornode-debug2
.In the legacy debuggers we just had one DA corresponding to one debuggee and a parent/child relationship would only occur with a feature like
"autoAttachChildProcesses": true,
where forked sub processes would result in child debug sessions.In
js-debug
there is always a server-like DA that is not talking to a real debugger but instead listens for requests to spawn DAs for the real debugging. This server DA is the parent and all the spawned DAs become its children. With this “reverse” approach features like “autoAttachChildProcesses” or a “Javascript debug terminal” basically come for free.But this means that even the simplest case (debugging a single node.js program) results in a parent debug session with a single child debug session. To keep what gets rendered in the CALL STACK view compact, VS Code can suppress showing the parent if there is only one child (
DebugSessionOption.compact
) .But sending user commands like “Stop” or “Restart” to the correct debug session is more tricky. Some DAs are interested in receiving the commands at the “parent”, so that they can manage the children themselves (like
js-debug
). Other DAs are OK with receiving the commands directly for the children.Currently VS Code is using a heuristic where to send a command. But with the introduction of the
DebugSessionOption.managedByParent
this is no longer necessary.@connor4312 is this a faithful explanation of js-debug?
With
js-debug
even the simplest debugging scenario becomes a parent/child scenario. My preferred sample for testing parent/child scenarios is the Cluster program.I went through all the usages of
session.parentSession
and the only ones that might need some rework are:Both of these are respecting the setting
debug.showSubSessionsInToolBar
. I think they should no longer look at this setting and instead respect thelifecycleManagedByParent
flag. Maybe we can even consider deprecatingdebug.showSubSessionsInToolBar
setting.