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

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

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

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

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


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

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

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

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

890
ответ дан Hans Passant 28 янв. '10 в 19:18
источник поделиться

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

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

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

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

291
ответ дан juFo 04 сент. '12 в 14:47
источник поделиться

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

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

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

247
ответ дан Patrick 28 янв. '10 в 19:35
источник поделиться

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

197
ответ дан sublimental 30 дек. '12 в 19:31
источник поделиться

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

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

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

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

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

133
ответ дан jp2code 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

50
ответ дан fabriciorissetto 04 дек. '14 в 15:44
источник поделиться

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

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

Решение?

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

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

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

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

Fixed Debugging Error

37
ответ дан theITvideos 30 июня '14 в 6:44
источник поделиться

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

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

32
ответ дан Arne H. Bitubekk 11 сент. '13 в 13:39
источник поделиться

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

30
ответ дан Serj Sagan 15 мая '13 в 5:21
источник поделиться

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

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

25
ответ дан Sandra 10 июня '16 в 18:02
источник поделиться

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

19
ответ дан Tino Jose Thannippara 22 сент. '16 в 13:29
источник поделиться

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

19
ответ дан Andy 01 мая '12 в 15:49
источник поделиться

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

12
ответ дан DS. 23 февр. '10 в 6:43
источник поделиться

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

10
ответ дан Adithya Sai 21 мая '18 в 8:18
источник поделиться

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

10
ответ дан cjo30080 14 окт. '10 в 1:38
источник поделиться

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

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

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

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

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

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

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

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

8
ответ дан Mahesh 26 дек. '13 в 10:16
источник поделиться

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

6
ответ дан Sai Chakradhar Sana 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
ответ дан Tratak 08 июня '15 в 13:29
источник поделиться

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

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

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

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

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

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

IIS Tray

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

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

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

4
ответ дан Sinaesthetic 28 янв. '17 в 6:16
источник поделиться

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

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

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

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

4
ответ дан tfa 16 июня '17 в 2:59
источник поделиться

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

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

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

System.Diagnostics.Debugger.Launch();

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

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

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

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

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

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

3
ответ дан Mark Whaling 06 июня '12 в 20:06
источник поделиться

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

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

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

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

3
ответ дан user781700 02 окт. '12 в 18:10
источник поделиться

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

2
ответ дан Jamal Kaksouri 11 июля '17 в 14:38
источник поделиться
  • 1
  • 2
  • 3

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