12.2 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.
Related tasks
11.11 Profiling the Linux kernel
7.3 Path prefix substitution in the Code view
Related reference
12.1 Troubleshooting target connection issues
6.6 Call Paths view column headers
3.2 Capture & Analysis Options dialog box settings
Non-ConfidentialPDF file icon PDF versionARM DUI0482U
Copyright © 2010-2015 ARM. All rights reserved.