2013-03-05 4 views
5

У меня есть решение, как клиентское, так и серверное, с множеством проектов, передняя часть Silverlight - в моем решении. Когда код работает, я нажимаю break all и ожидаю остановки в текущей строке кода. Вместо этого я получаю сообщение «Нет источника, нет исходного кода, доступного для текущего местоположения». Что может быть для этого решением? Обратите внимание, что это происходит всякий раз, когда я ударяю все, независимо от того, какая часть выполняется. стандартные точки останова останавливаются.Visual Studio break all in debug

ответ

4

Это звучит как стандартное поведение ... Помните, что за кулисами у вас есть фреймворк dlls (ntdll.dll/windowsbase.dll/presentationframework.dll и т. Д.), Делающие свою магию (слушая сообщения насосы, работая с OS и т. Д.) ...

Так что большую часть времени, когда вы «Разбиваете все», у вас есть очень хорошие шансы попасть в один из них.
Вы можете открыть Call Stack окно и увидеть, где именно вы (возможно, вам нужно щелкнуть правой кнопкой мыши и «Show External Code») ... и иногда вы можете также увидеть ваш конкретный метод вызывает там ...

Ввод точки останова в ваш код и остановка в них - это, как правило, правильный метод остановки в методах, которые относятся к вашему конкретному приложению.

+2

В предыдущей работе я использовал «Break All» почти ежедневно, чтобы делать то, на что надеялся OP, и что вы должны описывать как нестандартное поведение. В принципе, вы могли бы инициировать режим Break All, а затем, как только вы взаимодействовали с вашим приложением таким образом, чтобы выполнение выполнялось через ваш код (т. Е. Не фреймворк, а не какая-то сторонняя DLL), он приостанавливался. Фактически это было похоже на установку точки останова на каждую строку вашего собственного кода, а затем запуск отладчика. Теперь я нахожусь в новой работе, и поведение похоже на OP. Как я вернусь к тому, что когда-то было? – bubbleking

Смежные вопросы