You copied the Doc URL to your clipboard.

Troubleshooting report issues

If you successfully complete a capture session but have a problem with the resulting report data, consult this list of common issues.

Problem

Solution

Streamline does not show any source code in the Code view.

Make sure that you use the -g option during compilation. Streamline must have debug symbols turned on in order to match instructions to source code.

If necessary, ensure that the path prefix substitutions are set correctly. See the Path Prefix Substitutions dialog box in the Code view.

Streamline does not show source code for shared libraries.

Add the libraries using the Capture & Analysis Options dialog box. Click Add ELF Image... in the Program Images section, navigate to your shared library, and then add it.

The data in the Call Paths view is flat. The presented table is a list rather than a hierarchy.

Use the GCC options -fno-omit-frame-pointer and -marm during compilation. -marm is only required for ARMv7 and earlier architectures. Also, check the Call Stack Unwinding option in the Capture & Analysis Options dialog box.

If frame pointers are being set correctly, the disassembly of the code should contain instructions in the form add fp,sp,#<n> at the start of functions. To generate a disassembly, use the following command:

arm-linux-gnueabihf-objdump -d foo.so

Note

  • By default, Streamline does not walk the stack for kernels or loadable kernel modules. These generate flat data in the Call Paths view unless you built gator.ko to perform kernel stack unwinding.

  • Streamline does not walk the stack for statically-linked drivers.

  • User space gator does not support call stack unwinding.

Functions that you know are highly used are missing from the reports. Other functions might seem artificially large.

This can be because of code inlining done by the compiler. To turn inlining off, add -fno-inline as an option during compilation.

A newly-generated capture has no data.

If you experience this and the profiling session had event-based sampling enabled, the PMU on your target might not have triggered the interrupts correctly. Test on alternate hardware or disable event-based sampling in the Counter Configuration dialog box.
Was this page helpful? Yes No