I'm seeing a problem where Visual Studio freezes for 30+ seconds when I try to watch a variable in a very specific test configuration and it's driving me wild. The issue does not appear when I debug the main application or the non-hmi unit tests
We are using Visual Studio 2010, Gallio 3.2 and White 0.2 (with either the Icarus Test Runner or Resharper) to run automated HMI tests, sometimes we like to debug them :-) The target platform is .Net 4.0 and x86 and I'm developing on Windows 7 x64. This setup caused various problems which we overca开发者_开发百科me.
In my wild thrashing around to solve the problem I've tried :
- Forcing all Gallio apps to run as 32bit apps using CorFlags -- (fixed unit test issues)
- Disabling Resharper -- No Result
- Disabling the Exception Assistant -- No Result
- Disabling property evaluation -- No Result
- Creating a local symbol cache -- No Result
- Changing the isolation level of the application between IsolatedProcess/IsolatedAppdomain/Local -- fails to run as isolated process but otherwise No Result.
- Running Icarus & Visual Studio as admin -- No Result
- Attaching a debugger to Visual Studio itself -- Yay Works!
The only thing which made a difference was attaching a debugger to Visual Studio itself, and then it trucks along quite happily. When debugging visual studio various cruft is spewed out on the console but nothing appears related to the issue.
Does anybody have any idea what is going on or have any suggestions for solution?
Thanks
This might help someone in the future, so I found the problem it was in my code but it was worth sharing.
Visual Studio 2010 behaves very strangely if you use MapViewOfFile to read from DBWIN_BUFFER and
- you have the debugger attached
- you are using debugging a unit test with local or app domain isolated.
I suspect that there is some contention which causes either visual studio or my tests to lock and wait on reading the buffer.
精彩评论