This release of the ChorusOS operating system introduces an open, debugging architecture, as specified by the ChorusOS Debug Architecture and API Specifications document. The debug architecture relies on a host-resident server which abstracts the target platform to host tools, in particular debuggers. This API specification document is intended to be used by third parties who wish to implement their own debuggers for ChorusOS systems.
The debug server is intended to connect to various forms of target systems, through various forms of connections such as target through serial line, target through Ethernet, core file, target through BDM, or ICE.
This debug architecture provides support for two debugging modes:
In the application debugging mode, debuggers connect to multi-threaded processes or actors. Debugging an actor is non intrusive for the system and other actors, except for actors expecting services from the actor.
In system debugging mode, debuggers connect to the operating system seen as a virtual single multi-threaded process. Debugging the system is highly intrusive, since a breakpoint will stop all system operations. System debugging is designed to allow debugging of all the various parts of the operating system, for example: the boot sequence, the kernel, the BSP and the system protocol stacks.
For more details, see Chapter 10, System and Application Debugging.