【发布时间】:2010-09-17 17:14:43
【问题描述】:
当我调试托管的多线程代码时,我处于 Main\UnitTestRunner 线程中的断点并开始单步执行偶尔,调试器会切换到另一个线程并开始单步执行它的代码。我怎样才能阻止这种情况?
如果重要,请使用 VS2010 + Resharper 5.1。
更新 1:
在单步 (F10) 命令之后仔细查看堆栈表明,在调试器决定停止执行之前实际上执行了许多 (10-30) 步。
这种情况经常发生,以至于几乎不可能进行调试。这与提到的issue Hans 非常相似。
更新 2:
我已在 Microsoft Connect 上提交了bug。如果您也遇到此问题,请“投票”。
更新 3:
已被 M$ 确认为将在下一个“服务版本”中修复的错误。解决方法是将单元测试定位到 .NET 3.5,如 here 所述。
【问题讨论】:
-
我偶尔也看到过,感谢您提出这个问题。
-
这也是 VS2008 SP1 中的一个问题,已通过修补程序解决。在 connect.microsoft.com 上报告此问题