2013-05-31 1 views
5

Я отлаживаю часть своего кода в Visual Studio. Этот код принадлежит созданному пользовательскому провайдеру сеансов, и я отлаживаю его при запуске веб-приложения. Он начинает инициализацию моего провайдера, и в этой функции у меня есть точка останова, которая успешно ударяется в первый раз. Однако, что же точка останова удара снова, но у него есть маленький синий значок, и если вы наведите курсор мыши, отображается следующее сообщение:Процесс или нить изменились с последнего шага

процесс или поток изменился с момента последнего шага

On в моих исследованиях я нашел несколько вариантов ответов от людей, говорящих, что точка останова поражает другую сборку, а некоторые другие говорят, что точка останова была удалена из другого потока.

Кто-нибудь знает, что это значит?

ответ

4

Если у вас несколько потоков, выполняющих один и тот же код, и у вас есть точка останова, Visual Studio прекратит выполнение каждый раз, когда любой из этих потоков попадает в точку останова. Это произойдет для каждого потока в непредсказуемом порядке. Когда вы отлаживаете шаг за шагом на своем коде, другой поток может выполнять код, который вы отлаживали, и ударил точку останова. Visual Studio сообщит вам об этом, поставив этот синий круг с восклицательным знаком на следующую стрелку оператора.

Подробнее здесь: Debug Multithreaded Applications in Visual Studio

0

Этот значок означает просто точка останова ударили по другой теме, чем нитки вы находились. Это никак не влияет на поведение программы.