This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

DS-5 Streamline is not showing function call hierarchy correctly

Hi All,

I am using DS-5 (v5.23.1) Streamline analyser for profiling code running on OrangePi Board. I built the executable in Release mode. I noticed that function call hierarchy is not shown correctly in "Call Paths". All my functions are listed correctly but with no hierarchy order. Please help me to fix the issue.

Thanks in advance.

Parents
  • Hi cherma,

    A flat call path or orphaned nodes, i.e. not a complete chain back to main, can occur for several reasons:

    • Call Stack Unwinding is not enabled in the Streamline Capture & Analysis Options.
    • User space gator is running as opposed to kernel space gator, as user space gator does not support call stack unwinding.
    • The image selected in Streamline is not derived from the same image that was run on the target.
    • The application is not compiled with frame-pointers. For GCC, use CFLAGS '-fno-omit-frame-pointer' option.
    • The application is compiled for Thumb mode. Only ARM mode may be call stack profiled due to compiler limitations, so do not use in parallel with '-mthumb'.
    • If you are profiling with library symbols, you may not have access to a correctly compiled library, which will result in many orphaned nodes.
    • Hand-written assembly is encountered in the call path which doesn't properly account for frames.
    • The compilation was not a clean build, i.e. some .o files are compiled with frame pointers, some without frame pointers.

    This information is also available on the Streamline FAQ: Streamline FAQs – DS-5 Development Studio – ARM Developer

    Wade

Reply
  • Hi cherma,

    A flat call path or orphaned nodes, i.e. not a complete chain back to main, can occur for several reasons:

    • Call Stack Unwinding is not enabled in the Streamline Capture & Analysis Options.
    • User space gator is running as opposed to kernel space gator, as user space gator does not support call stack unwinding.
    • The image selected in Streamline is not derived from the same image that was run on the target.
    • The application is not compiled with frame-pointers. For GCC, use CFLAGS '-fno-omit-frame-pointer' option.
    • The application is compiled for Thumb mode. Only ARM mode may be call stack profiled due to compiler limitations, so do not use in parallel with '-mthumb'.
    • If you are profiling with library symbols, you may not have access to a correctly compiled library, which will result in many orphaned nodes.
    • Hand-written assembly is encountered in the call path which doesn't properly account for frames.
    • The compilation was not a clean build, i.e. some .o files are compiled with frame pointers, some without frame pointers.

    This information is also available on the Streamline FAQ: Streamline FAQs – DS-5 Development Studio – ARM Developer

    Wade

Children
No data