-
Notifications
You must be signed in to change notification settings - Fork 68
Handle IDE, launcher, debug server, and no-debug disconnect #1695
Comments
At this point, we have three ways the debug session can end, with some further variations below:
Some of these are not entirely independent. For example, in the case where there is a debug server connection, the debuggee process exiting will cause the message channel to close, and so this can be handled under that item. But in any no-debug case, and also in the regular debug case where the debuggee process dies before we get a chance to establish a channel to the debug server inside of it, the last item is its own thing. There's code in adapter to handle all the various situations covered the first two items, and partially the third one. However, this code is rather disorganized, and hard to follow, because it is split across several different handlers for the corresponding events. It is also completely unable to handle the no-debug case. This needs to be reorganized such that it is all in a single place that orchestrates the proper termination sequence between all the components that are still connected. This approach would also then fix no-debug. |
…disconnect Fix microsoft#1721 "runInTerminal" is broken on non-Windows platforms. Fix microsoft#1722: Output is not captured in "noDebug" with "runInTerminal" Groundwork for microsoft#1713: adapter: multiple concurrent sessions Move "launch" request parsing and debuggee process spawning, PID reporting and tracking, stdio "output" capture, and exit code reporting into launcher. Launcher now communicates to the adapter via a full-fledged message channel. Refactor adapter. Add an abstraction for a debug session, and treat IDE, launcher, and debug server as separate components managed by that session. Improve adapter logging to capture information about current debug session, and current message handler if any. Fix reporting exceptions from message handlers.
…disconnect Fix microsoft#1721 "runInTerminal" is broken on non-Windows platforms. Fix microsoft#1722: Output is not captured in "noDebug" with "runInTerminal" Groundwork for microsoft#1713: adapter: multiple concurrent sessions Move "launch" request parsing and debuggee process spawning, PID reporting and tracking, stdio "output" capture, and exit code reporting into launcher. Launcher now communicates to the adapter via a full-fledged message channel. Refactor adapter. Add an abstraction for a debug session, and treat IDE, launcher, and debug server as separate components managed by that session. Improve adapter logging to capture information about current debug session, and current message handler if any. Fix reporting exceptions from message handlers.
…disconnect Fix microsoft#1721 "runInTerminal" is broken on non-Windows platforms. Fix microsoft#1722: Output is not captured in "noDebug" with "runInTerminal" Groundwork for microsoft#1713: adapter: multiple concurrent sessions Move "launch" request parsing and debuggee process spawning, PID reporting and tracking, stdio "output" capture, and exit code reporting into launcher. Launcher now communicates to the adapter via a full-fledged message channel. Refactor adapter. Add an abstraction for a debug session, and treat IDE, launcher, and debug server as separate components managed by that session. Improve adapter logging to capture information about current debug session, and current message handler if any. Fix reporting exceptions from message handlers.
…disconnect Fix microsoft#1721 "runInTerminal" is broken on non-Windows platforms. Fix microsoft#1722: Output is not captured in "noDebug" with "runInTerminal" Groundwork for microsoft#1713: adapter: multiple concurrent sessions Move "launch" request parsing and debuggee process spawning, PID reporting and tracking, stdio "output" capture, and exit code reporting into launcher. Launcher now communicates to the adapter via a full-fledged message channel. Refactor adapter. Add an abstraction for a debug session, and treat IDE, launcher, and debug server as separate components managed by that session. Improve adapter logging to capture information about current debug session, and current message handler if any. Fix reporting exceptions from message handlers. Various test fixes.
…disconnect Fix microsoft#1721 "runInTerminal" is broken on non-Windows platforms. Fix microsoft#1722: Output is not captured in "noDebug" with "runInTerminal" Groundwork for microsoft#1713: adapter: multiple concurrent sessions Move "launch" request parsing and debuggee process spawning, PID reporting and tracking, stdio "output" capture, and exit code reporting into launcher. Launcher now communicates to the adapter via a full-fledged message channel. Refactor adapter. Add an abstraction for a debug session, and treat IDE, launcher, and debug server as separate components managed by that session. Improve adapter logging to capture information about current debug session, and current message handler if any. Fix reporting exceptions from message handlers. Various test fixes.
…disconnect Fix microsoft#1721 "runInTerminal" is broken on non-Windows platforms. Fix microsoft#1722: Output is not captured in "noDebug" with "runInTerminal" Groundwork for microsoft#1713: adapter: multiple concurrent sessions Move "launch" request parsing and debuggee process spawning, PID reporting and tracking, stdio "output" capture, and exit code reporting into launcher. Launcher now communicates to the adapter via a full-fledged message channel. Refactor adapter. Add an abstraction for a debug session, and treat IDE, launcher, and debug server as separate components managed by that session. Improve adapter logging to capture information about current debug session, and current message handler if any. Fix reporting exceptions from message handlers. Various test fixes.
…disconnect Fix microsoft#1721 "runInTerminal" is broken on non-Windows platforms. Fix microsoft#1722: Output is not captured in "noDebug" with "runInTerminal" Groundwork for microsoft#1713: adapter: multiple concurrent sessions Move "launch" request parsing and debuggee process spawning, PID reporting and tracking, stdio "output" capture, and exit code reporting into launcher. Launcher now communicates to the adapter via a full-fledged message channel. Refactor adapter. Add an abstraction for a debug session, and treat IDE, launcher, and debug server as separate components managed by that session. Improve adapter logging to capture information about current debug session, and current message handler if any. Fix reporting exceptions from message handlers. Various test fixes.
…disconnect Fix microsoft#1721 "runInTerminal" is broken on non-Windows platforms. Fix microsoft#1722: Output is not captured in "noDebug" with "runInTerminal" Groundwork for microsoft#1713: adapter: multiple concurrent sessions Move "launch" request parsing and debuggee process spawning, PID reporting and tracking, stdio "output" capture, and exit code reporting into launcher. Launcher now communicates to the adapter via a full-fledged message channel. Refactor adapter. Add an abstraction for a debug session, and treat IDE, launcher, and debug server as separate components managed by that session. Improve adapter logging to capture information about current debug session, and current message handler if any. Fix reporting exceptions from message handlers. Various test fixes.
…disconnect Fix microsoft#1721 "runInTerminal" is broken on non-Windows platforms. Fix microsoft#1722: Output is not captured in "noDebug" with "runInTerminal" Groundwork for microsoft#1713: adapter: multiple concurrent sessions Move "launch" request parsing and debuggee process spawning, PID reporting and tracking, stdio "output" capture, and exit code reporting into launcher. Launcher now communicates to the adapter via a full-fledged message channel. Refactor adapter. Add an abstraction for a debug session, and treat IDE, launcher, and debug server as separate components managed by that session. Improve adapter logging to capture information about current debug session, and current message handler if any. Fix reporting exceptions from message handlers. Various test fixes.
…disconnect Fix microsoft#1721 "runInTerminal" is broken on non-Windows platforms. Fix microsoft#1722: Output is not captured in "noDebug" with "runInTerminal" Groundwork for microsoft#1713: adapter: multiple concurrent sessions Move "launch" request parsing and debuggee process spawning, PID reporting and tracking, stdio "output" capture, and exit code reporting into launcher. Launcher now communicates to the adapter via a full-fledged message channel. Refactor adapter. Add an abstraction for a debug session, and treat IDE, launcher, and debug server as separate components managed by that session. Improve adapter logging to capture information about current debug session, and current message handler if any. Fix reporting exceptions from message handlers. Various test fixes.
Fix #1721 "runInTerminal" is broken on non-Windows platforms. Fix #1722: Output is not captured in "noDebug" with "runInTerminal" Groundwork for #1713: adapter: multiple concurrent sessions Move "launch" request parsing and debuggee process spawning, PID reporting and tracking, stdio "output" capture, and exit code reporting into launcher. Launcher now communicates to the adapter via a full-fledged message channel. Refactor adapter. Add an abstraction for a debug session, and treat IDE, launcher, and debug server as separate components managed by that session. Improve adapter logging to capture information about current debug session, and current message handler if any. Fix reporting exceptions from message handlers. Various test fixes.
No description provided.
The text was updated successfully, but these errors were encountered: