This PR intends to refactor the implementation of the DebugSession type in vscode debug adapter protocol repo so that we more easily can use it for our ("soon" to be) 2 debugger variants GDB and our own MDB.
To implement support for MDB fully, we also need to add an additional provider (modules/provider/mdb.js)
Don't merge until all boxes checked
[x] Create unified DebuggerProcessBase, from which the debugger variants can inherit from, which sorts the spawning of the child process, command line parameter handling so on and so forth
[x] Refactor MidasDAPSession to MidasSessionBase with the same idea as DebuggerProcessBase
[x] Refactor MidasSocket to be MidasCommunicationChannel, so that it can represent the communications layer between GDB/Midas, GDB+DAP/Midas, and MDB/Midas, where all these variants (with the exception of GDB+Custom Dap, it will only ever work in Unix socket mode, because in order to implement it in Python, we have to have a "clean" IO) also will come in stdio or unix socket layers.
[x] Add new provider type for midas-canonical
[x] Add necessary stuff to package.json for the new provider, it's launch and configuration variants etc
This PR intends to refactor the implementation of the DebugSession type in vscode debug adapter protocol repo so that we more easily can use it for our ("soon" to be) 2 debugger variants GDB and our own MDB.
To implement support for MDB fully, we also need to add an additional provider (modules/provider/mdb.js)
Don't merge until all boxes checked
MidasDAPSession
toMidasSessionBase
with the same idea asDebuggerProcessBase
MidasSocket
to beMidasCommunicationChannel
, so that it can represent the communications layer between GDB/Midas, GDB+DAP/Midas, and MDB/Midas, where all these variants (with the exception of GDB+Custom Dap, it will only ever work in Unix socket mode, because in order to implement it in Python, we have to have a "clean" IO) also will come in stdio or unix socket layers.midas-canonical