Mismatched Call Stacks between Bottom-up tree and Call Stack pane

When a user adopts stack-sampling collector analysis such as Hotspots, Concurrency or Locks Waits, Call Stack info will be displayed in Bottom-up report. (OS timer only)

Call Stack tree lists all call sequences (stacks) which called hot functions. Call Stacks from different threads are aggregated together for view type "Function - Call Stack", or Call Stacks can be displayed respectively for different thread for view type "Thread - Function - Call Stack".

Here is the Hotspot result after running a single thread application. Hot function foo_data_collected() has only one Stack wmain() in Bottom-up tree, but Call Stack pane indicates there are two Stacks.


callstack1.bmp

First stack is wmain() from "test_itt_api.cpp:32", let's see what second stack is?


callstack2.bmp

Second stack is wmain() from "test_itt_api.cpp:24". That means wmain() calls hot function foo_data_collected() from different source lines in same function. The bottom-up tree shown in the Bottom-up pane aggregates these stacks in one line. But the Call Stack pane shows each as a separate stack

Para obtener información más completa sobre las optimizaciones del compilador, consulte nuestro Aviso de optimización.