Hi,
Generally, it should work. However, for large projects, the profiler can sometimes have unintended side effects (e.g. causing stack to overflow due to requiring some extra stack space).
You can troubleshoot it as follows:
- Try to instrument as little functions as possible. If it stops the problem from happening, some of the profiled functions might me manipulating the stack directly, or otherwise interfering with the profiler. You can narrow it down by instrumenting half of the functions at a time and seeing which half breaks.
- Try checking the functions shown in the profiler window, or the variable values inside the profiler framework. Sometimes, it points to an obvious location that causes the problem (typically, a function manipulating the stack).
You can also try using the new Software Tracing introduced in VisualGDB 6.0. It is much less intrusive, can record the ARM cycle count each time the given line (or function) gets executed, so you can get precise timing on the function or even line level, and export it to Excel for a detailed analysis.