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).