У меня происходят странные вещи с коллегами по Visual Studio.
Мы полностью ошарашены, и я просто добавляю это в надежде, что у кого-то есть хорошая идея.
Вот вопрос:
У него есть код, который запускается по таймеру. В этом таймере он делает lock
, чтобы гарантировать, что за один раз может войти только один «поток».
Он ставит точку останова на месте внутри lock
и бежит к этой точке.
Вот тут и происходит странность. Когда он шагнет, поток через секунду или две вернет его к этой точке разрыва. Это очень запутанно. Идентификатор потока никогда не изменяется, поэтому это не новый поток, который каким-то образом проходит через lock
.
Но вот действительно странная часть. Это происходит каждый раз для него, но когда я загружаю исходный код и пробую его, он прекрасно работает для меня. Я могу пройтись по всему коду и никогда не получу следующее «прыгать вокруг» (из-за отсутствия лучшего слова).
Единственная разница между его машиной и разумом в том, что у меня установлена Visual Studio 2010, а он нет. (Однако мы оба выполняем это в Visual Studio 2008 SP1)
Есть идеи? любой вообще? Я действительно в тупике.