What are my thoughts are:
1. Is this main GUI based app multithreaded application?
2. Did you built this with debug info, even in release mode? Check compiler option "/Zi" & linker option "/DEBUG" enabled? You may test a simple Win-based GUI application - e.g. Helloworld, created by MS Visual Studio, running Locksandwaits should get wait-objects, such as message, single, multipleobjects, etc. You may compare their project's properties.
3. If you remove Pause/Resume API, could it work? Have you tried on latest build Update 15?
There is no problem - I just test C# code with LocksandWaits. I don't think it does make sense if you add Resume/Pause API to track wait-objects and transition, the reason is that VTune doesn't know objects' status before 10ms - how to calculate wait time?
You can profile whole application, and select small time period (Use Zoom-in/Filter on Selection) to generate a new report. How to do that? I suggested you to use Mark "user task" in other thread.
Min Xu wrote:
Are you saying that Resume and Pause calls are causing the problem of having no stack information and no wait/transition information? I did state that I was able to do the Locks and Waits analysis by creating a separate C# Console application that test a limitted portion ot the component. The Resume and Pause calls were each added only ONCE in the running of the program to isolate the portion that does the data analysis.
It should be confused on computing object's wait time, for example - if the lock was freed in time-1 (you paused VTune), on time-2 (you resume to profile) you don't know the lock was freed, regard the lock locked since you paused profiling on time-1.
It there any problem to do scenario I posted before?