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



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



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




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

  • удалите все папки bin и obj и все DLL, связанные с проектом, со всей моей машины.

  • воссоздать проекты, вызывающие проблему с нуля.

  • перезагрузка.


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





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

1428   30  

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.

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

Правой Кнопкой Мыши на решение --> свойства

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

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

выберите начать действие над проектами, которые необходимо отладить.

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

даже с" 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.

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

мы нашли причину нашей проблемы. Этот код использовал атрибут " 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", но не библиотеку классов, на которую ссылаются.

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

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

IIS Tray

я интегрировал приложение 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

    Ничего не найдено.