Что, черт возьми, может быть причиной этого ...
Я занимаюсь разработкой своего веб-приложения ASP.NET MVC на C # 3.5, так же, как и каждый день. Ничего умного не делает, просто стандартные методы на классах, вызывающие другие методы ...
Я строю свой проект, запускаю URL в Chrome и получаю ожидаемый ответ. Я прикрепляю отладчик к w3wp.exe, устанавливаю точку останова и f5 в Chrome. Отладчик останавливается на точке останова, как я и ожидал ....
Я нажимаю клавишу f11, чтобы пройти по коду, и он переместится на следующую строку / строку детали, сделаю это несколько раз, и он случайно перейдет к произвольной строке в пути выполнения !!!
Строка, к которой она пропускает, является строкой, которая была бы выполнена, она не пропускает ни одной старой строки, она просто решает пропустить целую кучу строк между ?? !!!
Я никогда не видел этого раньше, как, черт возьми, я отлаживаю, что происходит ???
Некоторое время я думал, что, возможно, Chrome делает два запроса, и отладчик на самом деле не пропускает его, он просто переключается между потоками запросов, заставляя его выглядеть как прыгающий, но это не так! Если я устанавливаю точку останова в каждой отдельной строке, я могу частично предотвратить это, но принять следующее:
1. public string Method()
2. {
3. string s;
4. s = OtherMethod();
5. return s;
6.
7. }
тип поведения, которое я вижу (с точкой останова на каждой строке выше) 1,2,3,4,5,6,7 (т. Е. Оно не вступит в OtherMethod ();
Другое поведение, которое я вижу, - это 1,2,3, и затем оно возвращается туда, где вызывается метод () или даже дальше: s
Спасибо