-
-
Notifications
You must be signed in to change notification settings - Fork 210
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
Multi-Debug Session Support #586
Comments
You could already create multiple sessions using the lower level APIs and switch around the active session using |
I still want to improve this somehow but there are many details to consider. E.g if you set a breakpoint, to which session does it go. What if one session rejects it and another doesn't. There's also session hierarchy to consider for extensions like nvim-dap-python and nvim-dap-vscode-js |
now that the reverse request StartDebugging is released do you plan to add support for multiple sessions @mfussenegger ? |
I plan to add support for |
According to this comment support in Just wanted to say that I'm happy to help in the adoption of One concern, as you were mentioning earlier, is on the fact that breakpoints are currently handled globally, which poses a problem for hierarchical/multi-sessions. Looking at the codebase it seems this is still the case. I remember around the time you posted this, I spent some time trying to solve the problem on the This is a good excuse to work on it though. Would you be open to a PR that reworked breakpoints to be per-session, assuming I can find a reasonable way to accomplish it? |
Thanks for the offer, but I think I'll look into this myself once I get to implement I suspect that reworking them to make them per-session may even be the wrong thing to do, because I it could be that all sessions will need to receive the breakpoint info. It was unfortunately left unspecified in the specification. If that's the case there'll need to be some broadcast mechanism, and the rejection handling will need to account for one session rejecting and another session accepting. |
|
Problem Statement
In VSCode, multiple debug sesssions can be launched at the same time. The benefit of this is to debug some languages that have FFI, such as C extensions for Python.
Ideas or possible solutions
The current code seems to be written for a single debugger, we can assign a session number to each DAP, and then pass parameters in the debugger action (step over/into etc.) to determine which debug session to use. If there is currently only one DAP, just keep the legacy behaviour
The text was updated successfully, but these errors were encountered: