Why wasn’t function name displayed after doing user-mode sampling?

Problem
When a Intel® VTune™ Amplifier XE 2011 for Linux user uses amplxe-cl command line for doing “User-mode Sampling and Tracing Analysis” with a long run of an application (Hotspots Analysis, Concurrency Analysis, LocksAndWaits) and the user uses Ctrl-C to cancel amplxe-cl command, and finally the result is displayed, functions names are shown [Unknown] or with module name instead.

For example:
# amplxe-cl -report hotspots -r r0001hs
Using result path `/home/peter/problem_report/r0001hs'
Executing actions 74 % Generating a report
Function Module CPU Time
[mysrv] mysrv 0.120
[visualso] 0.070
Executing actions 99 % done

Root-cause
When the VTune Amplifier XE collector is interrupted by Ctrl-C, all performance raw data is saved, but not finalized. That is why function names cannot be shown in report.

Solution

Use one of two methods to solve this problem:

1) Find path(s) for module file and symbol file. Re-resolve it in command line:
# amplxe-cl -finalize-r r0001hs -search-dir bin=./ sym=./

Using result path `/home/peter/problem_report/r0001hs'
Executing actions 100 % done

# amplxe-cl -report hotspots -r r0001hs

Using result path `/home/peter/problem_report/r0001hs'
Executing actions 74 % Generating a report
Function Module CPU Time
[visualso] 0.070
my_log_msgmysrv 0.029
[Import thunk memcpy] mysrv 0.011
Network::Sends mysrv 0.010
...

2) Use "-duration" to control the time and avoid long data collection. For example:
# amplxe-cl -collect hotspots -duration 30 -r ./r0001hs -- ./mysrv

For more complete information about compiler optimizations, see our Optimization Notice.