Systemic Debugging

Traditional RTOS software developers are accustomed to the view of the application as a single executable image that consists of the real time kernel and the “user” program code.

A typical Linux system, on the other hand, is a collection of software components, each built as a separate executable or shared library image. The degree of functionality and sophistication of any given embedded Linux system is directly proportional to the multitude and complex interactions of its software components. The lack of a comprehensive tools environment that can provide system wide debug visibility and control (also referred to as systemic debugging), has been one of the biggest obstacles in delivering Linux based products to market.

Traditional Linux debugging tools are specific to given components within the Linux system. For example, gdbserver is often used to to debug Linux processes while KGDB and JTAG are usually chosen for kernel debug. These tools, while effective for their specific purposes, are not conducive to systemic debugging needs.

Designed to meet this challenge, Viosoft’s Arriba offers a truly systemic debugging environment that is high in performance with minimal overhead. With Arriba, developers gain visibility into both kernel and application code, often through a single debug channel. Given the dramatic differences “under the hood” with embedded Linux, traditional RTOS developers who are making the migration will find the Arriba systemic debugging environment to be highly consistent with their expectation. This familiarity has a long term positive impact on productivity, which consequently translate to higher product quality and faster time to market.

To learn more about Arriba’s innovative approach to systemic debugging, contact us at sales[at] for a copy of our white paper or a live demonstration.