This module integrates with third party debug adapter protocol library to support IDE based debugging. Read https://microsoft.github.io/debug-adapter-protocol for information about the protocol and supported IDEs.
In order use zxdb with vscode -
Debug adapter server
- Manages connection to the debug adapter client. Currently, only a single client is accepted. If client closes connection, this modules resets the connection and waits for new client.
Debug adapter context
- Parses requests from debug adapter client using cppdap
library. Once requests are parsed, they are processed by using zxdb client session
The runtime view of various modules in zxdb and interaction of debug adapter with them is depicted below -
Note that the session is shared between console and debug adapter, which enables users to use zxdb console in addition to the IDE to control the debugging session.
Debug adapter context
uses zxdb client session to manage debugging session connected to the target debug agent. The client provides Target
, Process
and Thread
objects to represent the debugging system. Currently debug adapter context
uses the default target
present in the system
and does not create any new targets. This implies that Debug adapter context
can only attach to a single process for debugging. Support for attaching to multiple processes can be added in the future.