![]() |
| The MULTI® EventAnalyzer | ||||
| EventAnalyzer | ||||
|
The MULTI® EventAnalyzer is a powerful utility that enables programmers to understand the complex real-time interactions of their system. Some problems simply cannot be detected with standard debugging techniques. The MULTI EventAnalyzer allows the programmer to view and track application events in a full featured graphical viewer. The EventAnalyzer is configurable to view a variety of application and RTOS events and can be ported to many 3rd party or in-house real-time operating systems. Among the events the can be viewed, in a stretchable time scale, are the following: Task context switch Semaphore give/take Interrupts and exceptions Message send/receive User-defined eventsThis data is transferred to the host where it is displayed graphically in the EventAnalyzer GUI. Enabling and disabling event logging, selecting which events to track, and determining the size of target event buffers are fully controllable by the user, both interactively and programmatically.
|
![]() Click here for a larger view. | |||
|
||||
|
Data can be logged either in Postmortem Mode or Live Mode. In Postmortem Mode, data is gathered in a circular buffer on the target with a minimal effect on the rest of the system; users can upload the event log upon request, such as after a failure. In Live Mode, data is continually sent to the host via TCP/IP, allowing a virtually unlimited history of data to be collected and analyzed as the system is running.
The EventAnalyzer GUI is an effective tool for analyzing and understanding the data, providing convenient navigation capabilities such as zooming, searching, and the ability to hide or display various events and change the look and feel of task status lines and event icons.
Certain real-time operating systems, including INTEGRITY® from Green Hills Software, can provide the ability to log user-defined events. This API can be very powerful since the user can locate important points in their code and log events to help understand the system better. For example, if the user wants to determine whether a particular piece of code is executed and when, a user event can be logged in the code at this point. Also, extra data can be logged, such as the values of particular variables. This kind of data tracking in real-time can be invaluable. When the data is later analyzed, the user can search for these user events specifically.
|
||||
|
|