ContextSwitchDeadlock was detected

Debug时莫名的抛出异常,莫名的无助啊。

幸亏Google得到, 最终的解决方法是 在Debug -> Exceptions -> Managed Debug Assistants里 去掉ContextSwitchDeadlock一项前面的钩

详细可见ContextSwitchDeadlock was detected when debugging in Visual Studio 2005

详细的异常信息:

Message: The CLR has been unable to transition from COM context 0x197cf0 to COM context 0x197b80 for 60 seconds. The thread that owns the destination context/apartment is most likely either doing a non pumping wait or processing a very long running operation without pumping Windows messages. This situation generally has a negative performance impact and may even lead to the application becoming non responsive or memory usage accumulating continually over time. To avoid this problem, all single threaded apartment (STA) threads should use pumping wait primitives (such as CoWaitForMultipleHandles) and routinely pump messages during long running operations.

原文地址:https://www.cnblogs.com/anders06/p/950054.html