By default, when halting a target system in the debugger, the current registers (program counter, stackpointer etc.) as well as the current call-stack are shown. When running embOS, most of the time, the system will be in the Idle task. So the chance is fairly high that, when halting the system, it will be in Idle and not much information is gained by seeing the current registers and callstack.
Thread aware debugging specifies the capability of a debugger to show all existing tasks of embOS, running on the embedded system when the target system is halted by the debugger. It further allows to select a specific task in the IDE to show the current CPU registers as well as the call stack of that task.
SEGGER's embOS plug-in for Embedded Studio provides embOS awareness during debugging sessions. This enables you to inspect the state of several embOS primitives such as the tasks and created embOS objects. Moreover, the embOS plug-in allows you to monitor not only the active tasks, but also inactive tasks, too.
The source code window, the disassembly window, the register window, and the call stack window of the Embedded Studio debugger are task sensitive. This means they display the current position in the code, the content of the general-purpose registers and the call stack for the selected task. By default, the selected task is the running task, which is the usual behavior that the user expects from a debugger. You may, however, examine any task by double-clicking on the corresponding row in the plug-in window. The selected task will be highlighted and the call stack and preserved general-purpose registers of the suspended task are rebuilt.
In addition to the task list, the plug-in provides for all embOS objects if Embedded Studio version 3.40 or greater is used. These lists can be activated individually and show information specific to the embOS objects.