Overview
In this topic:
Analyzer is a powerful tool, which enables you to record the program execution trace, data trace or other trace messages and then analyze these recordings to produce coverage or timing measurements; with the BlueBox Debuggers and its Add-on modules (ADIO and CAN/LIN).
Analyzer window can show several aspects of the recording in different windows: Trace, Profiler and Coverage Window.
For general overview and first-time users, please refer to tutorials Getting started with Trace.
Before you can do any analysis, you need to record the program execution, data writes or other information of interest. |
Trace provides deepest possible insight in the real-time workings of the application. The quality of captured information depends on trace capabilities of the CPU and the used trace tool, and can include:
•Program trace
•Data trace
•Instrumentation trace
•Auxiliary I/O trace
Trace view reconstructs the low level captured events to:
•Program counter movement
•Instruction flow on assembly level
•Source code flow
•Data variable read/write accesses
•Labels (association between the address and a symbol obtained from the download file)
Profiler is a real-time analysis tool, which uses the acquired trace information to derive high-level analysis of the application real-time behavior. The profiled information is displayed in the Profiler Timeline Window and/or in the Profiler Statistics Window.
Recorded data is automatically processed by winIDEA. In addition, you can also do custom post processing analysis by configuring configuring Profiler Inspectors. Inspectors generate events derived from the recorded ones. You can use them to analyze event chains, measure time constraint violations and much more.
Profiler Statistics offers different types of statistics information:
•Interval Statistics
•Area Statistics
•Session Statistics
Event types are:
•Entry
•Resume
•Suspended
•Exit
•Write
Task (context) and functions states are:
•Active
•Inactive
•Suspended
Profiler Statistics in displayed in the Profiler Statistics Window.
Code coverage is a measurement used in software testing, an indirect quantitative measure of test quality. It helps:
•Find areas of a program not exercised by a set of test cases, indicating some code could still contain critical errors.
•Find code that is never executed. So-called “dead code” represents undesired overhead when assigning memory resources and is a potential hazard since it was not tested.
•Identify redundant test cases (that do not increase coverage).
For more information, refer to Coverage.
Refer to Exporting the data for more information.