Как исправить "точка останова в настоящее время не будет поражена. Символы не были загружены для данного документа.- предупреждение?
настольное приложение C# на express edition. Затем работал не работал 5 секунд.
Я попробовал следующее.
- убедитесь, что конфигурация отладки, флаг отладки и полная информация отладки установлены на всех сборках.
- удалите все папки bin и obj и все DLL, связанные с проектом, со всей моей машины.
- воссоздать проекты, вызывающие проблему с нуля.
- перезагрузка.
У меня есть два WinForms проекты в решении. Один из них загружает отладочную информацию, не. Они оба относятся к сборке я пытаюсь получить отладочную информацию в точно таким же образом в файле проекта. Есть идеи?
Я хочу добавить здесь, в основном для себя, когда я вернусь, чтобы рассмотреть этот вопрос, что символы не загружаются до загрузки сборки, а сборка не загружается до тех пор, пока она не понадобится. Если точка останова находится в библиотеке, используется только в одной функции в основной сборка, символы не будут загружены (и он покажет точку останова, как не попал), пока эта функция не будет вызвана.
30 ответов:
начать отладку, как только вы прибыли в точку останова или использовать
Debug > Break AllиспользуйтеDebug > Windows > Modules. Вы увидите список всех сборок, загруженных в процесс. Найдите тот, для которого вы хотите получить отладочную информацию. Щелкните его правой кнопкой мыши и выберите символ загрузить информацию. Вы получите диалоговое окно, в котором перечислены все каталоги, где его искали .pdb-файл для сборки. Сверьте этот список с фактическим .расположение ПДБ. Убедитесь, что он не найдет старого.в нормальных проекты, сборка и ее .pdb-файл всегда должен быть скопирован IDE в ту же папку, что и ваш .исполняемый. Папка bin\Debug вашего проекта. Убедитесь, что вы удалили один из GAC, если Вы играли с ним.
сначала попробуйте перестроить свой проект, щелкнув правой кнопкой мыши проект > перестроить Если это не сработает, попробуйте очистить проект (щелкните правой кнопкой мыши на проекте > очистить)
Если это не сработало, проверьте это:
- Правой Кнопкой Мыши ваш проект
- выберите [свойства]
- выберите [Build] tab
- убедится [определить константу debug] и [определение Константа трассировки] проверен
- выберите [дополнительно] кнопка в нижней части вкладки сборки
- убедитесь в том, что [Отладочная Информация:] установлено значение [полный]
- клик [OK] и восстановить этот проект ;-)
(Шаг 6 генерирует .pdb файлы, это отладочные символы)
просто что - то простое, чтобы попробовать-вы, возможно, уже пробовали. Щелкните правой кнопкой мыши решение в обозревателе решений, выберите "очистить решение", это удаляет все скомпилированные и временные файлы, связанные с решением.
пересобрать разрешение и повторите попытку отладки.
У меня также были проблемы с точками останова нескольких проектов в решении - некоторые скомпилированы как x86, некоторые как x64.
перекрестная публикация этого исправления от Hans K что я нашел на подобную тему >> здесь :
Правой Кнопкой Мыши на решение --> свойства
посмотрите в разделе Общие свойства -- > запуск проекта
выберите несколько проектов запуска
выберите начать действие над проектами, которые необходимо отладить.
выбранный ответ привел меня к устранению моей проблемы. Но мне нужно сделать еще несколько вещей:
даже с" Debug", выбранным в выпадающем списке:
и в свойствах проекта > Build:
Visual Studio не загружала символы в определенный проект. Поэтому в этом выпадающем списке я выбираю "Configuration Manager" и вижу, что настройки для моего веб-проекта были неверно:
затем я установил это в "Debug", и он начал генерировать . но мне нужно вручную скопировать PDB и DLL и поместить в папку, которую искал VS (вот где мне помог выбранный ответ):
Debug>Windows>Modulesпосмотреть какие модули были загружены поставить меня в правильном направлении.в моем случае IIS Express, казалось, загружал другую DLL из временного ASP.NET файлы.
решение?
- обзор
C:\Users\<YOUR USER>\AppData\Local\Temp\Temporary ASP.NET Files\vs- удалить все в этой папке!
Я смог исправить ошибку, просто установив опцию в "прикрепить к процессу", чтобы "автоматически определить тип кода для отладки", как показано на прилагаемом скриншоте.
просто выполните следующие действия:
- на Debug из меню
- нажать на кнопку присоединить к процессу
- возле прикрепить к, нажмите на кнопку выберите
- в Выберите Тип Код
иногда, даже если это дает вам эту ошибку,
breakpointвсе равно попадает, так что просто игнорировать ошибку. Это происходит довольно часто вViewsнаMVC web app.
мы нашли причину нашей проблемы. Этот код использовал атрибут " CodeBehind "в директиве страницы.aspx-файл вместо атрибута "CodeFile" (ASP.NET 2.0 и далее). После нескольких дней отчаяния, простой поиск и замена решила проблему.
параметр "начать отладку, отладка + Windows + модули" не существует в Microsoft Visual Studio Express 2013 edition.
снимите флажок "Использовать Режим Управляемой Совместимости" в настройках инструментов отладки исправляет это.
в моем случае я пытаюсь отлаживать в режиме relase. Как только я изменю его в режим отладки. Его работа
Я пробовал все, что упоминалось выше, но ничего не получилось. [очистить решение и проверить файлы PDB и т. д.]
даже публикация одного и того же решения не решила проблему.
затем я вернулся к тому, что я обычно делаю, чтобы решить (обмануть эту упрямую Visual Studio)
все, что я сделал, это намеренно изменить код и опубликовать решение. Затем я вернул изменение и опубликовал снова.
вуаля [PDB файлы избавления от злых духов].. Не Умное разрешение, но это сработало.. : -/
ни один из этих ответов решить мою проблему. Я попробовал другую вещь, основанную на том, что проект с остановкой на самом деле не был загруженным проектом. Я нашел как Ганс Пассант написал что то .dll, где я хочу остановить отладчик и ассоциированный .pdb файлы, где скопированы рядом .файл EXE. У этих файлов была более старая дата, поэтому я думал, что они не были обновлены во время выполнения. Я вручную удалил их, Visual Studio создал еще одну пару и поместил эту новую пару рядом .исполняемый. Теперь breakpoins работает !
возможно, Visual Studio не может копировать и заменять существующие файлы (.dll и .ПДБ) рядом .exe так как там есть еще один. Поэтому, если я удалил вручную, то VS может создать новый рядом .исполняемый.
Я думаю, что другие изменения (проверки и т. д. - Из других ответов) вызвали что-то, и Visual Studio скопировала и заменила dll и pdb из папки проекта в папку рядом с exe, так что это было решение.
Я думаю, что основная причина проблема в том, что Visual Studio использует другой файл во время выполнения, а не файл из проекта, с остановкой.
может быть, этот ответ поможет кому-то !
Что нужно проверить, просто чтобы быть ясно: убедитесь, что конфигурация Debug и выхода не. Вы можете отлаживать запускаемый проект в режиме "Release", но не библиотеку классов, на которую ссылаются.
я интегрировал приложение C# со статической библиотекой, используя VS10-который я новичок. Я писал управляемую библиотеку DLL код для взаимодействия с ними. Я мог бы установить точки останова везде, кроме статической библиотеки. Я получил сообщение, описанное выше-никакие символы не были загружены для этого документа. Я попробовал многие из предложений выше. Я видел, что символы не загружаются. Я, наконец, заметил флажок отладка конфигурации, включить отладку неуправляемого кода. Это позволило мне установить точки останова в статических функциях lib.
Я внимательно прочитал все ответы выше, но ни один из них не решил мою проблему.
в моем случае я компилировал библиотеку классов (DLL). Кажется, что никакие модули не загружаются в Debug - > Modules, поэтому я даже не мог загрузить символы вручную.
мое решение было добавить эту строку в мой код:
System.Diagnostics.Debugger.Launch();Как только этот код достигнут, запускается исключение, и .NET Framework показывает диалоговое окно с запросом, какая Visual Studio (т. е. новый экземпляр VS 2008, новый экземпляр VS 2013 и т. д.), который вы хотите использовать для отладки программы. Вы можете выбрать существующий экземпляр VS с загруженным проектом. Это прикрепит процесс к вашему сеансу VS и загрузит все символы, и теперь вы можете отладить свой проект.
конечно, компиляция должна быть выполнена с использованием конфигурации отладки, а не выпуска.
свойства проекта (затем выберите конфигурацию сборки) > вкладка "сборка" > дополнительно... > Отладочная информация (выпадающее меню)
установите значение " все " или "только pdb", затем перестройте
Это заняло у меня некоторое время пробовал другие варианты выше и по какой-то странной причине отладка перестала работать.
Tool - > Options - >Debugging - >General - >(снимите галочку)"требовать, чтобы исходные файлы точно соответствовали исходной версии"
для Ан ASP.Net приложение, проверьте свойства сайта, ASP.NET таб. Убедитесь, что правильно ASP.NET версия выбрана.
У меня также была такая же проблема, что я перестраиваю все решение (включая проекты refereced) в x86 (или x64)
хотя я установил все мои проекты на x86 из Configuration Manager (Build->ConfigManager), некоторые из моих проектов не были установлены на x86.
Так что просто убедитесь, что щелкните правой кнопкой мыши на вкладке project - > properties - >Debug, проверьте конфигурацию и платформу.
Я знаю, что опоздал на несколько лет, но я думал, что сделал что-то не так и выполнил вышеуказанные шаги, тогда я понял, что по ошибке установил конфигурацию решения в "Release":)
Правой Кнопкой Мыши на проект -> свойства -> перейти к Build Tab - > Снимите Флажок Оптимизировать Код. Сделайте это для любого проекта в вашем решении








Comments