I am a new to VTUNE. I installed trial version of VTUNE Version 9.0 integratedwithVisual Studio 2005 on Windows XP OS. I am trying to profile a MFC application with VTUNE. The MFC application brings up a GUI in which I set up and run an analysis.
After looking at the users manual, I set up a sampling activity and providedthe executable namefor "application to launch". On starting the activity, the executable does not launch, i.e., the MFC GUI does not come up. However, the task manager shows a process with the application name. Itseems to be running very slow (CPU timein task manager was 17 minutes over 12 hours) but no application GUI came up !!
I removed VS integration and tried the same from VTUNE performance analyser GUI, but encountered the same problem. I also tried delaying VTUNE data acquisition to allow time for application to launch, but did not help.
So, I checked "no application to launch" and launched my application manually. Then, I could use VTUNE to obtain sampling and counter monitor data. However, I am more interested in Call Graph data for which VTUNE has to instrument and launch the application. So, how do I get VTUNE to launch my application ? I am hoping someone can help me onn this.
Also, from the sampling data, when I drill-down to hotspot, VTUNE shows a number of "unresolved addresses" along with application function names. I made sure I compiled and linked with the correct options (as per manual) in Visual Studio. The only linker option I could not find was "Uncheck the Seperate Types option" which seems tobe removed in Visual Studio 2005.
Does anyone know where the problem is ? Please let me know.
Thanks a lot for your reply.
My application does not use managed code. I could start it from the run box. I have also set up using the sampling wizard. I still cannot get VTUNE to launch it.
Regarding"unresolved addresses", I found thecorrectLinker settings. Ihad to setthe Linker->Advanced->FixedBaseAddress toGenerate a relocation section (/fixed:no). Following this, I could seeall my functions in Static Module viewer. This reduced the number of unresolved addresses but there remain some. These are associated with line numbers in functions which appear in the hotspot view.
I selected only one module but when I drill down from the Process view by my application process name, I see additional modules like ntkrnlpa.exe, ntdll.dll, hal.dll, KERNEL32.dll, etc.. 55% of clockticks are under my application name module. Remaining modules are the rest. So, does it mean 55% of time is spent in my application source code, the remaining in the other modules called by the process?
I could obtain Callgraph data by statically instrumenting and launching my application manually when prompted.
I want to be able to get Tuning advice based on sampling. I understand that Primary tuning events data needs to be generated. I understand once VTUNE is able to launch the executable, it will do callibration runs, etc from multiple launches of executable.
Can this be done manually ?
Thanks in advance
"I want to be able to get Tuning advice based on sampling. I understand that Primary tuning events data needs to be generated. I understand once VTUNE is able to launch the executable, it will do callibration runs, etc from multiple launches of executable.
Can this be done manually ?"