Если вы используете Visual Studio 2005 и IE8, у меня может быть объяснение: в IE8 появилась новая функция, называемая слабосвязанной IE (LCIE), которая вызывает известные проблемы при отладке приложений ASP.NET VS2005. Посмотрите эту ветку на SO для получения более подробной информации и некоторых решений.
Оказалось, что все мои проблемы с отладкой исчезли, когда я закрыл все запущенные экземпляры IE8 до того, как начал отладочный запуск в своем проекте ASP.NET.
Другая причина, которую я публикую здесь, - поделиться блогом, который я нашел , в котором перечислено большое количество потенциальных решений проблемы "точки останова не работают". Это приятно, потому что в одном блоге перечислено большинство решений, которые я нашел, разбросанных по Интернету. Во всяком случае, автором блога является Джордж П. Александр; Я скопирую и вставлю здесь сочные части на случай, если что-то случится со статьей:
Использование высокоточных ракет: удалите файлы .pdb в вашем объекте и
Папки для мусора. Перекомпилируйте. Run.
Carpet bomb all .dlls: Удалить и перезагрузить все упомянутые .dll (например,
проекты вашего класса)
Выпуск ОМУ: Если № 1 и № 2 не сработали, удалите содержимое самого
папка obj и bin сама так
все .pdbs и .dlls уничтожаются.
Перезагрузите необходимые DLL-файлы и дайте
выстрел.
Магия VS.Net. Закройте VS.Net и перезапустите. Перестроить. Запустить. Да, это
иногда работает.
Магия Windows: выключите компьютер и перезагрузите компьютер. Перестроить. Запустить.
Режим выполнения: Убедитесь, что режим выполнения VS.Net установлен на
«Отладка», а не «Выпуск»
Настройки Web.config: убедитесь, что тег «Компиляция» элемента XML находится в
ваш файл web.config имеет атрибут
с debug = "true". Только если это
включены будут веб-приложения и сервисы
иметь свои файлы .pdb, созданные с
.dll
Свойства проекта # 1: убедитесь, что Свойства проекта -> Отладка ->
Включить «ASP.Net Debugging is true» или
«Включить хостинг Visual Studio
Процесс »(в зависимости от версии
VS.Net вы используете).
Свойства проекта # 2: Убедитесь, что Свойства проекта ->
Свойства конфигурации -> Построить ->
«Создать отладочную информацию»
установить на «True».
Неправильный процесс присоединен: ваш сеанс отладки может быть не прикреплен
к правильному процессу. Возможно, вам придется
шаг, чтобы вручную прикрепить
процесс. Это возможно с веб
Сервисы. Возможность прикрепить
процесс находится в меню отладки.
Отладка сценариев и неуправляемого кода: не удается отладить сценарии или
неуправляемый код? Убедитесь, что проект
Свойства -> Отладка -> «Включить ASP»
Отладка "или" Включить неуправляемый
Отладка "(в зависимости от вашей версии
VS.Net) имеет значение true.
@ Директива страницы # 1: убедитесь, что атрибут AutoEventWireup в вашем
Директива @Page документа .aspx установлена
в «истину».
@ Директива страницы # 2: Убедитесь, что атрибут Debug в вашем .aspx
директива @Page документа установлена в
"правда". Если вы не нашли
атрибут, все в порядке. По умолчанию это
правда.
Жулик .DLLs: убедитесь, что у вас нет другого экземпляра .dll
бег, который лежит еще где
ваш предполагаемый путь проекта.
14.1 Жулик .dlls спящая ячейка № 1: Вы установили свой проект .dll в
Папка GAC? Вы могли бы запустить
Вместо этого .dll находится в вашей папке GAC
из того, что в вашей папке бин.
Удалить / удалить .dll из GAC
и попробуйте еще раз.
14.2 Разбойная ячейка спящего .DLLs # 2:
C: \ Documents and
Настройки [UserName] \ VSWebCache [машина
Имя]:
Освободить ОМУ (# 3) на папках, которые
связаны с вашим проектом.
14.3 Ячейка спящего DLL № 3: .dll из вашего проекта, которые лежат еще
где, но вместо этого упоминаются в
ваш проект. Вы можете узнать это
путем изучения свойств проекта. В
Короче говоря, VS.Net имеет в виду некоторые другие
.dll, а не тот, который загружен в вашем
среда разработки.
14.4 Rogue .DLLs спящая клетка № 4: Надеюсь, вам не придется играть с
эта папка к тому времени, как вы закончите
с указанными выше точками ...
Вводя
C: \ WINDOWS \ Microsoft.NET \ Framework [.Net
версия] \ Временные файлы ASP.NET \
Эта папка может содержать более старые
версии .dll, хранящиеся в вашем
Папка Windows, которая может получить
ссылка при запуске из VS.Net.
Если это произойдет, это отстой. Вы можете
удалить столько папок и содержимого, сколько
Вы можете ОТНОСИТЬСЯ К ВАШЕМУ ПРОЕКТУ.
Могут быть блокировки только для чтения, которые
вам нужно будет отключить, закрыв
процессы. Это скорее последний
рвотное усилие. Не делай этого, если ты
никогда не играл с Windows
папка. В большинстве случаев что-то сделано
выше, прежде чем этот пункт обычно делает
почини это. В идеале, вам не нужно
прочитайте этот момент к тому времени, когда вы
сделано с указанными выше указателями. И просто
для записи, я не рекомендую
Кто-нибудь, чтобы изучить этот вариант или играть
вокруг с вашей папкой Windows, если вы
не имеют докторскую степень по физике,
Математика, Windows и .Net.
Другие советы:
- Окно модуля: окно модуля можно просматривать, пока ваше приложение
работает из VS.Net (Debug ->
Windows -> Модули). Все модули из
ваш проект должен быть указан там.
Если .dll вашего проекта в списке и
статус Символы "Символы"
Загружен ", у вас нет проблем.
Если это сообщение, относящееся к вашему .pdb
файл, перейдите к «Выбрать символы» и
соответствующий файл .pdb. Ты можешь иметь
перезапустить отладку или загрузить VS.Net
снова. Статус должен измениться
на "Символы загружены".
2. Параметры VS.Net: Инструмент -> Параметры -> Отладка В VS.Net 2005 и далее существует еще один узел
«Символы», где вы можете попросить VS.Net
искать символы. Это может быть доступно
через окно модуля при отладке
тоже.