c# - файл - точки останова установлены но еще не привязаны




Как исправить «Точка останова в настоящее время не будет удалена. Для этого документа не были загружены символы. "Предупреждение? (20)

В моем случае «Оптимизация кода» была проверена в моих свойствах проекта. Это заставило VS видеть мою сборку как «не мой код», и, в свою очередь, она не загружала для нее символы.

Решение состояло в том, чтобы снять этот флажок.

Настольное приложение C # в экспресс-редакции. Работала тогда не работала 5 секунд спустя.

Я попробовал следующее.

  • Обеспечьте настройку отладки, флаг отладки и полную информацию об отладке для всех сборок.
  • Удалите все папки bin и obj и все DLL, связанные с проектом, со всей моей машины.
  • Создавайте проекты, создавая проблему с нуля.
  • Перезагружать.

У меня есть два проекта WinForms в решении. Один из них загружает информацию об отладке, а другой нет. Они оба относятся к сборке, в которой я пытаюсь получить информацию об отладке точно так же, как в файле проекта. Есть идеи?

Я хочу добавить сюда, главным образом для себя, когда вернусь к рассмотрению этого вопроса, что символы не загружаются до загрузки сборки, а сборка не загружается до тех пор, пока она не понадобится. Если точка останова находится в библиотеке, которая используется только в одной функции в вашей основной сборке, символы не будут загружаться (и показывая, что точка останова не будет удалена), пока эта функция не будет вызвана.


В моем случае я пытаюсь отлаживать режим relase. Как только я изменю его на режим отладки. Работает


Вариант «Начать отладку, Debug + Windows + Modules» не существует в выпуске Microsoft Visual Studio Express 2013.

Снимите флажок «Использовать режим управляемой совместимости» в «Параметры инструментов». Отладка исправляет это.


Веб-приложения (только для IIS Express):

  • Rightclick IIS Express Tray и закройте IIS.
  • Чистое решение


Все, что нужно проверить, чтобы быть ясным: убедитесь, что у вас установлена ​​настройка «Отладка», а не «Отпуск». Вы можете отлаживать проект запуска в режиме «Release», но не библиотеку классов, на которую имеется ссылка.


Выбранный ответ заставил меня исправить мою проблему. Но мне нужно сделать еще несколько вещей:

Даже при выборе «Отладка» в раскрывающемся списке:

И в проекте Properties> Build:

Visual Studio не загружала символы в конкретный проект. Поэтому в этом раскрывающемся списке я выбираю «Configuration Manager» и вижу, что настройки для моего веб-проекта были неправильными:

Затем я установил это в «Debug», и он начал генерировать файл .pdb . НО мне нужно вручную скопировать PDB и DLL и поместить в папку, в которой смотрел VS (вот где мне помог выбранный ответ):


Иногда, даже если он дает вам эту ошибку, breakpoint все равно попадает, поэтому просто игнорируйте ошибку. Это происходит довольно часто в представлениях MVC web app .


Мы нашли причину нашей проблемы. Этот код использовал атрибут «CodeBehind» в директиве «Страница» файла .aspx вместо атрибута «CodeFile» (ASP.NET 2.0 и выше). После дней отчаяния простой поиск и замена решили проблему.


Ни один из этих ответов не разрешил мою проблему. Я попробовал другое, основанное на факте, что проект с остановкой на самом деле не был загруженным проектом. Я нашел, как Ханс Пассант написал, что .dll, где я хочу остановить отладчик и связанные файлы .pdb, скопированные рядом с файлом .exe. У этих файлов была более старая дата, поэтому я думал, что они не обновлены во время выполнения. Я вручную удалил их, Visual Studio создала другую пару и положила эту новую пару рядом с .exe. Теперь работает breakpoins!

Возможно, Visual Studio не может скопировать и ЗАМЕНИТЬ существующие файлы (.dll и .pdb) рядом с .exe, так как там есть другой. Поэтому, если я удалю вручную, тогда VS может создать новый файл .exe.

Я думаю, что другие изменения (проверки и т. Д. - из других ответов) вызвали что-то, и Visual Studio скопировала и заменила dll и pdb из папки проекта в папку рядом с exe, так что это было решением.

Я считаю, что основной причиной проблемы является то, что Visual Studio использует другой файл во время выполнения, без файла из проекта, с остановкой.

Может быть, этот ответ поможет кому-то!


Отключите параметр «Только мой код» в настройках отладки / общего доступа.


Попробуйте запустить visual studio в качестве администратора в окнах.


Проверьте, не пропал ли ваш .pbd-файл в папке bin / Debug. Если после этого перейдите в «Свойства» вашего проекта, выберите «Построить», а затем «Дополнительно» внизу. В появившемся окне выберите «full» в разделе «Debug info». Это была моя проблема и решила это для меня.


Просто проверьте, находится ли ваше решение в режиме деблокирования.


Свойства проекта (затем выберите конфигурацию сборки)> Вкладка «Вкладка»> «Дополнительно ...»> «Отладочная информация» (раскрывающийся список)

Установите значение «all» или «pdb-only», затем перестройте


У меня также была та же проблема, что я перестраиваю все решение (включая реферированные проекты) в x86 (или x64)

Несмотря на то, что я установил все мои проекты на x86 из Configuration Manager (Build-> ConfigManager), некоторые из моих проектов были установлены на x86.

Итак, просто чтобы щелкнуть правой кнопкой мыши по проекту-> properties-> Debug Tab, проверьте конфигурацию и платформу.


Щелкните правой кнопкой мыши Project -> Properties -> Go to Build Tab -> Снимите флажок « Оптимизировать код» . Сделайте это для любого проекта в своем решении


Я внимательно прочитал все ответы выше, но никто из них не решил мою проблему.

В моем случае я составлял библиотеку классов (DLL). Никакие модули не загружаются в Debug -> Modules, поэтому я не мог даже загрузить символы вручную.

Моим решением было добавить эту строку в мой код:

System.Diagnostics.Debugger.Launch();

Как только этот код будет достигнут, будет инициировано исключение, а .NET Framework отобразит диалоговое окно с запросом Visual Studio (т.е. новый экземпляр VS 2008, новый экземпляр VS 2013 и т. Д.), Который вы хотите использовать для отладки программы. Вы можете выбрать существующий экземпляр VS с загруженным проектом. Это приложит процесс к вашей сессии VS и загрузит все символы, и теперь вы сможете отлаживать ваш проект.

Конечно, компиляция должна быть выполнена с использованием конфигурации Debug, а не Release.


Я знаю, что я опаздываю на несколько лет, но я думал, что сделал что-то не так и последовал вышеприведенным шагам, тогда я понял, что я установил конфигурацию решения «Release» по ошибке :)


Я попробовал все, что упоминалось выше, но ничего не получилось. [Очистить решение и проверить файлы PDB и т. Д.]

Даже публикация того же решения не решила проблему.

Затем я вернулся к тому, что я обычно делаю, чтобы решить (обмануть эту упрямую Visual Studio)

Все, что я сделал, это сделать преднамеренное изменение кода и опубликовать решение. Затем я вернул изменения и снова опубликовал.

Voila [файлы PDB избавлены от злых духов] .. Не умное решение, но это действительно сработало ..: - |


Я смог исправить ошибку, просто установив опцию «Приложить к процессу» на «Автоматически определять тип кода для отладки», как показано на прилагаемом скриншоте.

Просто выполните следующие действия:

  • Перейдите в Debug из строки меню
  • Нажмите « Присоединить к процессу»
  • Рядом с параметром « Прикрепить к» нажмите кнопку « Выбрать»
  • Появится окно « Выбор типа кода»
  • Теперь выберите параметр « Автоматически определять тип кода для отладки» и нажмите кнопку «ОК».





breakpoints