ROV stands for “runtime object viewer”, a type of smart watch window. Unlike the raw structure based watch window, ROV has module-specific code to add semantic information and decode and present the data in a more useful form. Some practical examples include: support of views for the HeapMem module which show the memory free list. This includes the sizes for all the memory blocks and can be used to find problems with memory, like reviewing fragmentation to look for memory leaks where memory is allocated but never freed. Another example is the Task view which supports display of the assorted task stacks and summarizes the amount of stack used. All the stacks are filled with a known value when the tasks are created, so that it is possible see how much stack has been used with ROV (and context switch hooks). The task module also supports displaying the state of each task and includes information about which semaphore, etc. a task is waiting for, including the timeout.

