当我进行托管的多线程代码调试时,如果我在Main/UnitTestRunner线程中设置断点并开始单步执行,有时调试器会切换到另一个线程并开始执行它的代码。我该如何停止这个操作?使用VS2010 + Resharper 5.1(如果相关的话)。更新1:在单步执行(F10)命令后,更仔细地查看堆栈显示,在调试器决定停止执行之前实际上执行了许多(10-30)个步骤。这种情况经常发生,使得调试几乎不可能。这与Hans所提到的问题非常相似。更新2:我在Microsoft Connect上提交了错误报告。如果您也遇到此问题,请“投票”支持。更新3:
微软已确认这是一个需要在下一个“服务发布”中修复的错误。解决方法是将单元测试定位到.NET 3.5,如此处所述。