I have an application written in c++ using visual studio 2005. The application has certain performance problems. I would like to explore where. I need to drill down in which classes/methods/lines the application spends most of the time. Can this be done with the WPA? If yes, can you, please give me a pointer to documentation?
Try the YourKit .net profiler. I tried this and few others recently, but this was the only one I managed to get to work with my C++/CLI project (with a mixture of managed and unmanaged code).
[Edit] Oops; I read WPA as WPF and assumed you wanted to profile some .net code.
No, WPT leverages windows events, it would only help you diagnose a problem when Windows is the cause of your slow-down. You certainly won't get any diagnostics for your code. What you need is a real profiler. Good ones cost money. Check this thread for more advice.
The simplest way to find out what is spending time unnecessarily is stackshots, which you can easily get with the "pause" button in Visual Studio.
You don't need to measure; all you have to do is catch it in the act. If you find it doing something on two or more stackshots, and it's something you could avoid doing, you will save significant time. And, you can repeat the process, because problems that are small at first will "bubble up" as you remove other problems.