Как исправить ошибку «В настоящий момент точка останова не будет достигнута. Для этого документа не было загружено никаких символов». предупреждение? - PullRequest
1357 голосов
/ 28 января 2010

C # настольное приложение на экспресс-издание. Сработало, затем не сработало 5 секунд спустя.

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

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

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


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

Ответы [ 94 ]

1 голос
/ 07 мая 2019

Отладка -> Параметры -> Общие -> Снимите флажок для "Enable Just My Code"

Это сработало для меня.

1 голос
/ 10 сентября 2015

Я прошел все ответы, ничего не помогло. В моем случае проблема с файлом web.config . Это было <compilation debug="false" strict="true"

Я изменил на

<compilation debug="true" strict="false". Теперь я могу отлаживать приложение.

1 голос
/ 04 апреля 2019

Следующие шаги раздвоены для меня:

  1. Перейдите в папку «bin» вашего проекта.
  2. Удалить папку «Debug».
  3. Создайте свой проект снова.
  4. Папка отладки будет создана заново.

Теперь вы можете снова начать отладку.

0 голосов
/ 30 августа 2018

Существует много ответов с различными решениями, чтобы решить эту проблему.

Другое решение - убедиться, что ваш код доступен. Например:

Любой код, который добавляется после возврата в функцию. Добавление GOTO, эффективно пропускающего ваш код с точкой останова.

Я не говорю, что это нормально, но они также являются причинами.

0 голосов
/ 15 февраля 2012

Я столкнулся с этой проблемой, пытаясь отладить фоновый агент приложения WP7. Как оказалось, эта проблема отладки была лишь признаком реальной проблемы: мой фоновый агент вообще не работал в режиме отладки. Я следовал следующему руководству о том, как реализовать фоновый агент: http://msdn.microsoft.com/en-us/library/hh202941(v=vs.92).aspx

... но забыл добавить

#define DEBUG_AGENT

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

0 голосов
/ 26 августа 2014

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

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

Из SolutionExplorer:

  1. Выберите «отладочный» проект, из которого у вас закончится
  2. Развернуть Ссылки (если не видно, выберите меню Проект , элемент Показать все файлы )
  3. Щелкните правой кнопкой мыши проект, у которого не работает точка останова, выберите Свойства
  4. Изменить значение Копировать локальный с Ложь на Истина

Попробуйте еще раз. (Это сработало для нее!)

0 голосов
/ 21 января 2013

Я сделал чистую и восстановить вещи. Это не сработало (обычно так и есть). Теперь я присоединяюсь к w3wp перед вызовом через службу, затем позволяю ему один раз вызвать службу, достигнуть другой точки останова, затем я изменяю точку выполнения так, чтобы она снова запускала ту же строку (вызывая службу), затем она фактически останавливается на моей точке останова внутри метода обслуживания.

0 голосов
/ 01 июля 2016

Основной проект имеет и ссылку на проект, и ссылку на файл на один и тот же проект.

В моем случае основной проект имел две ссылки: одна ссылка на проект, а другая ссылка на файл, на dll, созданную тем же проектом.

Таким образом, файл pdb не копировался в папку bin основного проекта, что приводило к недоступности символов.

0 голосов
/ 25 июня 2016

Проект> Свойства> C ++> Общие> Формат отладочной информации - База данных программы (/ Zi)

Я проверил Linker> Debugging и уже генерировал отладочную информацию. Когда я запустил приложение, символы были загружены ( Отладка> Windows> Модули ). Установка формата информации отладки исправила это для меня. Надеюсь, это кому-нибудь поможет!

0 голосов
/ 13 июня 2014

В Visual Studio отметьте

Build => Configuration Manager => Активная конфигурация решения

Если установлено Release вместо Debug , то точки останова не будут достигнуты.

...