I have root access on a remote SuSE 12.1 Xeon host running a DPDK application which I'm trying to profile using Vtune Amplifier XE 15 update1. I have installed remote collection on the server and am collecting data from the server successfully by attaching to the running DPDK application. I have access to all the kernel source and project sources but during finalization I'm getting a lot of warnings for kernel modules and system libraries which state that debug info cannot be found for these kernel modules and system libraries which the application is using. The documentation in VTune for setting up binary search paths is geared towards a windows user in the linux version and does not give any useful examples for complex linux envirionments. Does anyone on this list have more detailed documentation on setting up object file and symbol resolution for a remotely collected linux project ?
I'm getting useful information for the DPDK application by setting up the source paths to it but would like to resolve the warning messages during finalization so I know I'm getting the full analysis of all the system interaction on the UUT I'm testing,
Thanks in advance for any helpful info,
If you are getting warnings about not locating the debug info, it could mean that VTune Amplifier found the binary file, but no debug info was available. If you execute the 'file' command on one of the binaries that VTune Amplifier said it could not find debug info for, what do you see? Does it say the module is "stripped"? You need to point the VTune Amplifier at unstripped modules built with debug info (i.e., -g), and they need to match the binaries on the remote system.
How are you referring to the modules on the remote system? Do you have a share setup to the remote system? Did you copy all the binaries?
Absence of symbol files for system libraries is not a critical issue, however it can cause inaccurate function resolving and incorrect stacks. To avoid these warnings and related issues on Linux distributions it is usually enough to install corresponding debuginfo packages. For SuSE you should be able to find them here: https://en.opensuse.org/Package_repositories#Debug
I am running a different Linux distro on my Laptop than I am on the server so symbol info is not the same. I can move object files to the laptop but do not want to use an NFS mount of the UUT to the laptop because of the impact on the performance of the UUT. I have attached a file called, vtune_ampl_2015_collection_log_warn.png, to this emal showing the finalization output. The vtune analyzer is having a problem finding kernel modules that are on the UUT and finding debuginfo associated with system libraries.
The project properties window has a "Binary/Symbol Files" tab but it states that the files must be local or use a microsoft symbol server path on a remote which is not available in my linux environment. Is there a way to specify the path via an ssh url using the same method as the one I use to attach to the executable running on the UUT for linux systems ? Let me know if you have issues looking at the png file,
Thanks for any info you can come up with regarding this issue,
There is no way to specify the search path on the remote system in VTune Amplifier XE.
VTune tries to get binary files from the remote system by absolute path recorded during collection. It cannot search symbol files or source files on the remote system. Recommended way is to have symbol files (and the binary files which are not found) on local file system and specify search paths on the "Binary/Symbol Files" tab.