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

настольное приложение C# в express edition. Затем работал не работал 5 секунд.

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

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

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


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

30 ответов


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

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


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

Если это не сработало, проверьте это:

  1. Правой Кнопкой Мыши ваш проект
  2. выберите [свойства]
  3. выберите [Build] tab
  4. убедится [определить константу debug] и [определение Константа трассировки] проверен
  5. выберите [дополнительно] внизу построить новые
  6. убедитесь в том, что [Отладочная Информация:] установлено значение [полный]
  7. клик [OK] и восстановить этот проект ;-)

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


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

выполните перестроение решения и повторите попытку отладки.

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


отключите опцию "Только мой код"в настройках Debug/General.


кросспостинг это исправление от Ганс К что я нашел на подобную тему >> здесь :

щелкните правой кнопкой мыши на решении -- > свойства

посмотрите в разделе Общие свойства --> Startup Project

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

выберите пуск действий по проектам нужно отлаживать.


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

даже с" Debug", выбранным в раскрывающемся списке:

enter image description here

и в свойствах проекта > Build:

enter image description here

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

enter image description here

enter image description here

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

enter image description here


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

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

решение?

  1. обзор C:\Users\<YOUR USER>\AppData\Local\Temp\Temporary ASP.NET Files\vs
  2. удалить все в этой папке!

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

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

  • на Debug из меню
  • нажать на кнопку присоединить к процессу
  • возле прикрепить к, нажмите на кнопку выберите
  • в Выберите Тип Код

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

Showing where to find the setting


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


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

решением было снять этот флажок. Location of Optimize Code checkbox


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


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


вам нужно включить "Generate debug info" в настройках компилятора


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


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

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


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


Я пробовал все, что упоминалось выше, но ничего не получилось. [чистое решение, и проверка для файлов ПДБ ЕТК.]

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

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

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

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


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

и снова

решение это исправит проблему


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

возможно, Visual Studio не может копировать и заменять существующие файлы (.dll и .ПДБ) рядом .exe, так как есть еще один. Поэтому, если я удалил вручную, VS мог бы создать новый рядом .исполняемый.

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

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

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


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


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

  • щелкните правой кнопкой мыши лоток IIS Express и закройте IIS.
  • Очистить Решение

IIS Tray


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


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

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

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

System.Diagnostics.Debugger.Launch();

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

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


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

" все " или только pdb-тогда восстановить


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

Tool - >Options - >Debugging - >General - >(untick)"требовать, чтобы исходные файлы точно соответствовали исходной версии"


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


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

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

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


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


щелкните правой кнопкой мыши проект - > свойства - > перейти к Build Tab - > Снимите Флажок Оптимизировать Код. Сделайте это для любого проекта в вашем решении