In this topic:
By default the Profiler is configured to analyze:
•OS events (if OS awareness is configured in winIDEA)
•Network messages (if network analyzer is connected)
You can, however, choose exactly what you wish to analyze by selecting the event types on the Profiler list and listing the specific events you wish to analyze:
During code profiling, iSYSTEM tools analyze the trace recording and try to reconstruct the program execution and the RTOS context to which it belongs.
Make sure that Profiler is checked in the Analyzer Configuration / Recorder page.
In the Recorder page, you can also limit the session duration.
In such case BlueBox comparators are set to record only function entries and exits, which limits the amount of information that needs to be recorded. However, the functionality relies on correct function entries and exits being reported in the debug information. If debug information is not reliable, the analysis might be aborted due to reconstruction failure.
Profiling in Entry/Exit mode also recognizes function nesting.
If a preemptive Operating System (OS) is used, it is required to also signal and profile the context switches of the OS. The profiler basically maintains a function call stack for each recognized OS context.
Entry/Exit mode profiling does not cater for function exit optimizations, i.e. function exit optimizations may yield this profiling mode unusable.
More reliable method of program execution reconstruction is the Range mode, where function entries and exits are detected based on the function range (we fall in range as soon as the first instruction in the function range is executed, and out of range as soon as the first instruction out of range is executed). This method is more reliable, as the function start and size are more accurately reported in debug information. Range mode requires full program trace recording.
Profiling in Range mode also recognizes function nesting.
If a preemptive Operating System (OS) is used, it is required to also signal and profile the context switches of the OS.
The profiler basically maintains a function call stack for each recognized OS context.
Range mode profiling performs an in-depth analysis of the code trying to recognize and compensate compiler optimizations, such a function tail optimizations.
Program execution reconstruction may not always be possible (e.g. RTOS is used, but task switches are not recorded). For example function 1 is entered in context of task A and then function 2 is exited in context of task B. If task switches are not recorded, the program reconstruction will fail (function 1 entered, then function 2 exited, which indicates an error in the reconstruction process). Flat mode limits the analysis to the currently active function (function can either be active or inactive, ignoring the suspended mode). Flat mode analysis will provide limited function statistics, but is able to handle incomplete program reconstruction
Profiling in Flat mode does not recognize function nesting. It assume a valid entry/exit sequence for each function.
In Flat mode it is not necessary to also profile the context switches of an OS.
This mode is not affects by compiler optimizations.
Method used for profiling configured functions. Determines the function activity by observing its call / exit site and not its entry / exit point as other available operation modes in winIDEA.
If the function doesn't have call sites specified in the symbol information (Symbol Browser window), it will be ignored in the analysis. If one function calls another, caller function will be shown as suspended in Profiler Timeline ONLY if the called function is configured for profiling. See examples.
By default the trigger logic is not configured. This option enables the user to generate a trigger on instruction execution. The trigger can be used informatively or as a start of profiler analysis (if option Analyze only events after trigger point is enabled). If the option Manual Trigger/Recorder configuration is checked, please verify your Recorder Configuration to make sure both are configured properly.
When checked Profiler will ignore all events before the trigger marker (red line in the Profiler Timeline).
Refer to Advanced Profiler Configuration
Displays called functions in the Profiler Timeline and Profiler Statistics windows in a form of a three structure. If this option is selected, analysis will be performed on the selected Operation mode, except Flat. When exporting only call stack areas that are children of normal function area are exported. More information in the Call Stack Profiling chapter.