C# Visual Studio调试疯狂!

C# Visual Studio调试疯狂!,c#,visual-studio,visual-studio-2008,C#,Visual Studio,Visual Studio 2008,我和我的同事Visual Studio发生了一些非常奇怪的事情 我们完全被难住了,我只是把这个扔出去,希望有人有个好主意 问题是: 他有一些在计时器上运行的代码。在该计时器中,他执行锁定,以确保一次只能有一个“线程”进入 他在锁内的一个点上放置一个断点,然后运行到该点 这就是奇怪发生的地方。当他迈步时,水流会在一两秒钟后将他跳回到那个断点。这很令人困惑。线程ID永远不会更改,因此它不是一个不知何故通过锁的新线程 但这里是真正奇怪的部分。他每次都会这样,但当我下载源代码并试用时,我觉得效果很好。我

我和我的同事Visual Studio发生了一些非常奇怪的事情

我们完全被难住了,我只是把这个扔出去,希望有人有个好主意

问题是:

他有一些在计时器上运行的代码。在该计时器中,他执行
锁定
,以确保一次只能有一个“线程”进入

他在
内的一个点上放置一个断点,然后运行到该点

这就是奇怪发生的地方。当他迈步时,水流会在一两秒钟后将他跳回到那个断点。这很令人困惑。线程ID永远不会更改,因此它不是一个不知何故通过
锁的新线程

但这里是真正奇怪的部分。他每次都会这样,但当我下载源代码并试用时,我觉得效果很好。我可以一步一步地完成所有的代码,但我永远不会得到下一个语句“跳跃”(因为没有更好的词)

他的机器和大脑之间唯一的区别是我安装了VisualStudio2010,而他没有。(但是,我们都在VisualStudio2008SP1中运行此功能)


有什么想法吗?有吗?我真的被难住了。

我首先想到的是这个修补程序:


如果我记得大约2年前,安装Silverlight SDK也解决了这个问题。我记得当时觉得这很奇怪,但这对我来说很有帮助。(实际上,我在热修复之前就找到了解决方案)

相同数量的cpu内核等?您介意发布一些代码吗?您锁定的是什么?您是否可以使用
lock
语句发布代码,并显示lock对象的实例化方式和位置?