I used vtune to create a call graph for my application. As you can see in the picture, some of the functions called in the main (source code in the right window) are not shown in the call graph (left window) and also some of things that are listed in the call graph are not in the main (right window).
If some of functions called by main(), but not shown in call graph report window - probably 1) Your called functions are "inline", please use disabling optimization to rebuild and retry. 2) Your called functionwere not executed.
You were right. My first run was in release mode and as you said I rebuild run again in debug mode. It is now working.
Two more question: 1- Debug mode is not of my interest in performance analysis. How can I disable the inlining in release mode?
2- When I run the counter monitor activity, I get this: "No data to display for selected couters. Either no counters have been selected or there is no data available for the selected counters. Try selecting additional counters or run the activity again to collect new data.
I tried running the counter monitor again as it is stated but get the same message. Considering this "Either no counters have been selected or there is no data available for the selected counters.", where should I select counters?
1- I am using VS2008 but the article is for intel compiler. Anyway, I set three options as you mentions: "/Zi", "/DEBUG" and "/Fixed:no". But when I check the inlining optimization option I only have these options:
default Only __inline (/Ob1) Any suitable (/Ob2)
I tested all three but in the call graph still there is no "cipher()".