The ChorusOS operating system provides the following tools:
The ChorusOS operating system offers a graphic configuration tool, called Ews, to help you configure your system. The Ews configuration tool allows you to:
Configure the system image, to include or exclude different features and components
Configure the features and tunables in your system image
Set the environment variables
Add actors to the system image.
For details about using the Ews graphic configuration tool, see the ChorusOS 5.0 Application Developer's Guide.
The ChorusOS operating system provides embedded debugging tools that debug all parts of the operating system, including the boot.
The ChorusOS operating system includes an open debugging architecture, as specified by the ChorusOS 5.0 Debugging Guide. The debug architecture relies on a host-resident server which abstracts the target platform to host tools, in particular debuggers.
The debug server is intended to connect to various forms of target systems, through connections such as target through serial line or target through Ethernet.
This debug architecture provides support for two debugging modes:
Application debug
System debug
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 microkernel, the BSP and the system protocol stacks.
The ChorusOS operating system provides the following features to support debugging.
The LOG
feature provides support for logging console activity on a target
system.
For details, see sysLog(2K).
The PERF
feature provides an API to share the system timer (clock)
in two modes:
A free-running mode, which causes the timer to overflow after reaching its maximum value and continue to count up from its minimum value. This mode can be used for fine-grained execution measurement. This deactivates the system clock.
A periodic mode, where the system timer is shared between the application and the system tick. The timer will generate an interrupt at a set interval. The application handler will be invoked at the required period. This mode can be used by applications such as profilers.
The PERF
API closely follows
the timer(9DDI)
device driver interface.
For details, see PERF(5FEA).
The MON
feature provides a means to monitor
the activity of microkernel objects such as threads, actors, and ports. Handlers
can be connected to the events related to these objects so that, for example,
information related to thread-sleep/wake events can be known. Handlers can
also monitor global events, affecting the entire system.
For details, see MON(5FEA).
The ChorusOS operating system dump feature is also used for debugging the system in the event of a crash. See "System Dump (SYSTEM_DUMP)" for details.
The DEBUG_SYSTEM
feature enables
remote debugging with the GDB Debugger for the ChorusOS operating system.
GDB communicates with the ChorusOS debug server (see chserver(1CC)) through
the RDBD protocol adapter (see rdbd(1CC)), both running on the host.
The debug server in turn communicates with the debug agent running on the
target. The debug server exports an open Debug API, which
is documented and available for use by third party tools.
For details, see DEBUG_SYSTEM(5FEA).