4

I'm trying to profile our application by:

  • Compiling with no optimizations
  • Linking the c++ code with /profile and debug information.
  • Doing the command line profiling dance:

    vsperfcmd /start:sample /output:profile
    vsperfcmd /globalon
    vsperfcmd /launch:application.exe /timer:50000
    

The profiling works, but for some reason, about 50% of the samples are not identified:

Function Name        Inclusive Samples    Exclusive Samples
Unknown Frame(s)     55.01%               47.51%  <-- WHAT IS THIS?
_wWinMainCRTStartup  54.79%               0.00%
[mfc100u.dll]        47.95%               1.56%
__tmainCRTStartup    42.75%               0.00%

I'm guessing that it is not one function which it can't identify, but that it groups all unidentified functions into a single "function". This makes it hard to reason about it, since it will be called from many functions, and similarly calls many functions. Most of them being unrelated.

On would think that it should at least be able to figure out which module the sample was taken from?

Yngve Hammersland
  • 1,634
  • 2
  • 14
  • 28
  • First you have to understand what profiling actually does and how performance opportunities are found. The method I use is [*this*](http://stackoverflow.com/a/378024/23771). Here are some [*reasons why*](http://scicomp.stackexchange.com/a/2719/1262). – Mike Dunlavey Jan 04 '13 at 15:17

0 Answers0