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

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

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

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

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


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

1263
задан 28 янв. '10 в 19:09
источник поделиться
87 ответов
  • 1
  • 2
  • 3

Начните отладку, как только вы достигли точки останова или использовали Debug > Break All, используйте Debug > Windows > Modules. Вы увидите список всех сборок, загруженных в процесс. Найдите ту, для которой вы хотите получить информацию об отладке. Щелкните его правой кнопкой мыши и выберите "Загрузка информации о символе". Появится диалоговое окно, в котором перечислены все каталоги, в которых он ищет файл .pdb для сборки. Проверьте этот список на фактическое местоположение .pdb. Убедитесь, что он не находит старый.

В обычных проектах сборка и ее файл .pdb всегда должны быть скопированы с помощью IDE в ту же папку, что и ваш .exe. Папка bin\Debug вашего проекта. Убедитесь, что вы удалили один из GAC, если вы играли с ним.

905
ответ дан 28 янв. '10 в 19:18
источник

Сначала попробуйте перестроить свой проект, щелкнув правой кнопкой мыши проект > Rebuild Если это не сработает, попробуйте очистить проект (щелкните правой кнопкой мыши по проекту > очистить)

Если это не помогло, проверьте это:

  • Щелкните правой кнопкой мыши ваш проект
  • выберите [Свойства]
  • выберите вкладку [Сборка]
  • убедитесь, что отмечены [Определить константу DEBUG] и [Определить константу TRACE].
  • Нажмите кнопку [Дополнительно] внизу вкладки "Сборка"
  • Убедитесь, что для параметра [Отладка информации:] установлено значение [полный]
  • Нажмите [OK] и перестройте проект; -)

(шаг 6 генерирует файлы .pdb, это символы отладки)

298
ответ дан 04 сент. '12 в 14:47
источник

Просто попробуйте попробовать - возможно, вы уже пробовали это. Щелкните правой кнопкой мыши Решение в проводнике решений, нажмите "Чистое решение", это удалит все скомпилированные и временные файлы, связанные с решением.

Сделайте пересоединение решения и попробуйте снова отладить.

У меня также были проблемы с точками останова в нескольких проектах в решении - некоторые скомпилированы как x86, а некоторые - как x64.

254
ответ дан 28 янв. '10 в 19:35
источник

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

198
ответ дан 30 дек. '12 в 19:31
источник

Перекрестно разместив это исправление от Hans K, которое я нашел в подобной теме → ЗДЕСЬ < <:

Щелкните правой кнопкой мыши по решению → Свойства

Посмотрите в разделе Общие свойства → Проект запуска

Выберите несколько проектов запуска

выберите "Начать действие" для проектов, которые нужно отлаживать.

137
ответ дан 11 июля '12 в 21:26
источник

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

Даже при выборе "Отладка" в выпадающем меню:

enter image description here

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

enter image description here

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

enter image description here

enter image description here

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

enter image description here

54
ответ дан 04 дек. '14 в 15:44
источник

Debug > Windows > Modules, чтобы увидеть, какие модули были загружены, поставил меня в правильном направлении.

В моем случае IIS Express, похоже, загружал другую DLL из временных файлов ASP.NET.

Решение?

  • Перейдите к C:\Users\<YOUR USER>\AppData\Local\Temp\Temporary ASP.NET Files\vs
  • Удалить все в этом каталоге!
40
ответ дан 29 окт. '14 в 14:05
источник

Я смог исправить ошибку, просто установив опцию в "Attach to Process" на "Автоматически определять тип кода для отладки", как показано на скриншоте.

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

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

Fixed Debugging Error

38
ответ дан 30 июня '14 в 6:44
источник

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

Показывает, где найти настройку

35
ответ дан 11 сент. '13 в 13:39
источник

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

31
ответ дан 15 мая '13 в 5:21
источник

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

Решение заключалось в том, чтобы снять этот флажок. Место установки кода оптимизации

27
ответ дан 10 июня '16 в 18:02
источник

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

20
ответ дан 22 сент. '16 в 13:29
источник

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

20
ответ дан 01 мая '12 в 15:49
источник

Вам нужно включить "Генерировать информацию об отладке" в настройках компилятора

14
ответ дан 23 февр. '10 в 6:43
источник

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

13
ответ дан 21 мая '18 в 8:18
источник

Опция "Начать отладку, Debug + Windows + Modules" не существует в выпуске Microsoft Visual Studio Express 2013.

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

10
ответ дан 05 марта '14 в 21:23
источник

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

10
ответ дан 14 окт. '10 в 1:38
источник

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

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

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

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

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

8
ответ дан 26 дек. '13 в 10:16
источник

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

7
ответ дан 07 дек. '15 в 9:05
источник

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

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

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

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

Возможно, этот ответ поможет кому-то!

6
ответ дан 08 июня '15 в 13:29
источник

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

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

5
ответ дан 28 янв. '17 в 6:16
источник

Только для Web-приложений (IIS Express):

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

IIS Tray

5
ответ дан 06 июня '17 в 7:04
источник

Вместо того, чтобы делать все это просто

Закрыть и снова открыть

решение будет устранять проблему

5
ответ дан 12 апр. '17 в 17:17
источник

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

Инструмент → Параметры → Отладка → Общие → (untick) "Требуется исходный файл, чтобы точно соответствовать исходной версии"

5
ответ дан 16 июня '17 в 2:59
источник

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

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

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

System.Diagnostics.Debugger.Launch();

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

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

4
ответ дан 05 февр. '16 в 20:00
источник

Я интегрировал приложение С# со статической библиотекой, используя VS10, к которой я новичок. Я написал управляемый код dll для их взаимодействия. Я мог бы установить точки останова повсюду, кроме статической библиотеки. Я получил сообщение, описанное выше, - для этого документа не были загружены символы. Я попробовал много из приведенных выше предложений. Я видел, что символы не загружаются. Я, наконец, заметил флажок "Конфигурация Debug", "Включить неуправляемую отладку кода". Это позволило мне установить точки останова в статических функциях lib.

4
ответ дан 02 апр. '12 в 19:19
источник

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

3
ответ дан 15 нояб. '17 в 13:58
источник

Для приложения ASP.Net проверьте свойства сайта, вкладку ASP.NET. Убедитесь, что выбрана правильная версия ASP.NET.

3
ответ дан 06 июня '12 в 20:06
источник

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

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

Итак, просто чтобы щелкнуть правой кнопкой мыши по проекту и следовать

project → properties → Debug Tab, проверьте конфигурацию и платформу.

3
ответ дан 02 окт. '12 в 18:10
источник

У меня была аналогичная проблема, и я сделал следующее: Debug => Options => General => Удалить галочку для "Включить только мой код". Это сработало для меня..

3
ответ дан 22 авг. '18 в 14:53
источник
  • 1
  • 2
  • 3

Другие вопросы по меткам или Задайте вопрос