Run-Mode Debug

Overview

In addition to a wide range of target debug connectivity options, Arriba is fully integrated with a number of leading JTAG devices. The benefits from this diversity are twofolds:

•Developers gain visibility into all aspects of the Linux system
•Developers can simultaneously choose between stop mode or run mode debug

Under stop mode debug, the Linux system is completely halted when a breakpoint is hit, enabling the developer to examine registers and memory without the concern that their values are being changed by another thread of execution within the system. With a few exceptions, this mode of debugging is increasingly less prevalent in modern Linux base systems due to a number of reasons:

•Stopping the debugged system completely prevents it from servicing incoming interrupts, thus increasing the likelihood of severing its channel of communication to outside world
•In a multicore environment, it is not possible to simultaneously halt all processors

Alternatively, run mode debug is well aligned with the operation of a Linux system. Arriba run mode debug is uniquely designed to allow the maximum concurrency with minimal overhead, enabling the Linux system to run at full speed even while under debug. For this reason, Arriba run mode debug is highly suitable for certain class of problems that are not reproducible under other normal controlled debug environment.

As the age old debate as to whether stop mode or run mode debug is most suitable for any given needs continues, Linux developers can choose the model that works best for them with Arriba, now.