I am having problems collecting VTune Hotspot with stack
info on remote system (a non-licensed system). I am using the following command and VTune is not
creating the needed .tb5 or .tb6 file for importing into the VTune project (where I do have a license):
"c:\\Program Files\\Intel\\bin32"\\amplxe-cl -collect hotspots -knob accurate-cpu-time-detection=true -no-follow-child -target-duration-type=medium -no-allow-multiple-runs -analyze-system -data-limit=100 -slow-frames-threshold=40 -fast-frames-threshold=100 --search-dir sym:p=\\\\rfsbuild\\rfsbuilds\\auto\\rfs-4.0.65\\3203\\release\\x86 --search-dir sym:p=\\\\rfsbuild\\rfsbuilds\\auto\\rfs-4.0.65\\3203\\release\\x86\\2003 --duration 800 --target-process rfs.exe
When I run that command, I get the following warning:
Warning: Accurate CPU time detection was disabled. Not enough storage is available to process this command. Please see the Troubleshooting section of the product documentation for details.
I have tried opening the results file directly but they do not show enough detail as they are missing the function names of my application and I do not know how to get VTune to read the symbols so that i can get the function names. What am I doing wrong?
If the symbols are also visible (or only visible) from the host machine, try resolving symbols again on the host. In the GUI, use the "Re-resolve" button on the right-hand side, when in the "Analysis Type" tab. Make sure the symbol directories are set in the Project Properties (it appears you set them up already in the project - open the result into the same project, and it should work fine).
Or from the command line on the host machine, run 'amplxe-cl -finalize -r
As small aside, the 'hotspots' collection type is a user-mode sampling collection type and does not produce *.tb5/6 files (these are produced by the hardware-based collection types). Copying the result directory from a remote machine should work fine in either case.
The warning you see should not be a big problem (at least it should not interfere with symbol resolution). It will only affect the accuracy of the collected CPU time data. Either enable the accurate CPU Time collection by running as Administrator, or change the command line to '-knob accurate-cpu-time-detection=false' to remove the warning.
In the GUI, open the project. Open the project properties and see where the project directory is located ('Store result in the project directory'). Copy the result directory to the project directory.
Then select 'File->Open->Result'. Then choose the result marker file (result directory has a name like 'r000hs'. The marker file is inside and has a name like 'r000hs.amplxe'. It should have the Amplifer icon next to it as well). Now the project properties should be available (and Re-resolve should use the search directories from it).
Also, you could try re-resolving from the command line before loading into the GUI.
Are the symbol files in the directories given, or are they in subdirectories? If they're in subdirectories, there is a GUI option to make it check subdirectories when setting them up (check box at the end of the line with the search path). Or on the command line add 'r' after 'sym:', like -search-dir sym:pr=
In case none of this works, what compiler are you using, and what options are used to generate the symbol files (like /Zi?).