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?