it-swarm.com.ru

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

C # настольное приложение на экспресс издание. Сработало, затем не сработало 5 секунд спустя.

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

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

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


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

1332
Instance Hunter

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

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

922
Hans Passant

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

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

  1. Щелкните правой кнопкой мыши ваш проект
  2. выберите [Свойства]
  3. выберите [Build] вкладка
  4. убедитесь, что [Определить постоянную DEBUG] и [Определить постоянную TRACE] проверены
  5. Нажмите кнопку [Дополнительно] в нижней части вкладки «Сборка»
  6. Убедитесь, что [Debug Info:] установлено на [full]
  7. Нажмите [OK] и перестройте проект ;-)

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

308
juFo

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

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

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

254
Patrick

Отключите опцию «Просто мой код» в настройках «Отладка/Общие».

203
sublimental

Перекрестная публикация этого исправления от Hans K , который я нашел в аналогичной теме >> ЗДЕСЬ << :

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

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

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

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

139
jp2code

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

Даже с выбранным «Отладка» в раскрывающемся списке:

enter image description here

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

enter image description here

Visual Studio не загружал символы в конкретный проект. Таким образом, в этом раскрывающемся меню я выбрал «Диспетчер конфигурации» и увидел, что параметры моего веб-проекта были неверными

enter image description here

enter image description here

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

enter image description here

54
fabriciorissetto

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

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

Решение?

  1. Перейдите к C:\Users\<YOUR USER>\AppData\Local\Temp\Temporary ASP.NET Files\vs
  2. Удалить все в этом каталоге!
41
James S

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

Просто следуйте инструкциям ниже:

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

Fixed Debugging Error

38
theITvideos

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

 Showing where to find the setting

36
Arne H. Bitubekk

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

34
Serj Sagan

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

Решением было снять это.  Location of Optimize Code checkbox

28
Sandra

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

20
Tino Jose Thannippara

Попробуйте запустить Visual Studio в качестве администратора в Windows.

20
Andy

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

14
Adithya Sai

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

14
DS.

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

10
cjo30080

Параметр «Начать отладку, отладка + модули Windows +» не существует в выпуске Microsoft Visual Studio Express 2013.

Снятие отметки «Использовать управляемый режим совместимости» в меню «Параметры инструментов» Отладка исправляет это.

10
Andrus

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

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

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

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

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

8
Mahesh

Вещи, которые нужно проверить, чтобы быть понятным: убедитесь, что у вас установлена ​​конфигурация «Отладка», а не «Выпуск». Вы можете отлаживать стартовый проект в режиме «Release», но не можете ссылаться на библиотеку классов.

7
Sai Chakradhar Sana

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

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

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

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

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

6
Tratak

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

Установите «все» или «только для pdb», затем перестройте

5
Sinaesthetic

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

  • Щелкните правой кнопкой мыши IIS Экспресс-лоток и закройте IIS.
  • Чистый раствор

 IIS Tray

5
Christian Gollhardt

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

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

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

5
kselva

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

Инструмент -> Параметры -> Отладка -> Общие -> (снимите флажок) Параметр «Требовать, чтобы исходные файлы точно соответствовали исходной версии»

5
tfa

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

4
Muhamed Krasniqi

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

4
Kary

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

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

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

проект -> свойства -> вкладка отладки, проверьте конфигурацию и платформу.

4
user781700

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

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

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

System.Diagnostics.Debugger.Launch();

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

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

4
Sam

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

4
Neil Walker

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

3
Mark Whaling

Если мы получим последнюю версию от VSTS, все файлы будут в режиме только для чтения. Во время выполнения проекта все классы библиотеки классов становятся доступными только для чтения, а точки торможения становятся пустыми и говорят: «Точка останова в настоящий момент не будет достигнута. Для этого документа не загружены символы». 

Решение 1

Перейдите в расположение проекта и щелкните правой кнопкой мыши папку ---> Свойства ---> Вкладка Общие ---> ОТМЕНИТЬ только для чтения (применяется только к файлам в папке) ---> Применить ---> ОК

Решение 2

Начните отладку, перейдите в «Отладка» ---> Windows ---> Модули. Выберите одну сборку и щелкните правой кнопкой мыши ---> (Выбрать) Настройка символов. Задайте путь к корзине в символе «Кэш» в этом каталоге и выберите «Серверы Microsoft» в символе расположения PDB. Нажмите Загрузить все символы. Это займет время. Затем нажмите ОК.

Теперь статус символа для всей сборки был изменен с «не удается найти или открыть PDB» на «Символы загружены».

2
Bala Kumar

Щелкните правой кнопкой мыши на Project -> Properties -> Go to Build Tab -> Uncheck Optimize Code . Сделайте это для любого проекта в вашем решении

2
Jamal Kaksouri

это произошло со мной после копирования, вставки другого файла asmx webservice в существующий webservice, что привело к той же ошибке при попытке отладки недавно добавленной службы, чтобы иметь возможность отладки, мне пришлось начать без отладки, а затем подключиться к процессу. это странно, но это единственный способ, который я смог отладить.

2
montelof

Я перепробовал все это и не смог заставить свою точку останова работать ...

Что я сделал, чтобы исправить эту проблему

На странице, где моя точка останова не была достигнута, я выбрал папку> добавить существующий элемент, а затем выбрал страницу из ее пути сохранения. Это позволило точке останова начать работать.

2
Pomster

Если вы используете проект C++ или dll из проекта C# или любого проекта .Net и хотите выполнить отладку в собственном коде. Затем перейдите в .Net Project Свойства -> Debug -> Включить отладку собственного кода (установите значение true).

1
peter bence

Проверьте свой Solution Configuration выпадающий список. Убедитесь, что вы выбрали Debug, а не Release.

1
zs2020

Для меня проблема заключалась лишь в том, что я пытался отлаживать в веб-проекте, который не был задан в качестве начального проекта. Таким образом, он не был хорошо скомпилирован при запуске отладки, а файл .pdb не обновился. ,.

Просто установив проект на «Установить как стартовый проект», добились цели.

Надеюсь это поможет

1
Guillaume Martin

При попытке отладки надстройки Excel в VS 2013, после того, как я попробовал все параметры отладки, отключив пошаговое выполнение исходного кода DotNet Framework и отключив загрузку символов, в конечном итоге у меня сработало изменение параметра конфигурации на Release, а не Debug , так как компилятор, казалось, перешагнул через код, и точки останова были в конечном счете достигнуты.

1
Kamran Hyder

Моя личная ситуация состояла в том, что отладка работала в Visual Studio 2013, где она изначально создавалась, но не работала в 2015 году. Мне удалось это исправить, изменив версию в файле проекта на версию 12. вместо версии 10.

1
done_merson

Я хотел бы добавить еще одну вещь, которая может предотвратить переход/разрыв, не загружая файл .pdb и не обнаружив его ни на одном другом форуме: если вы добавите пост-процесс сборки для добавления метаданных ресурса в DLL (название компании, номер версии и т.д.), Как в «rc.exe my_dll.rc», это может привести к несоответствию между DLL и ​​файлом .pdb. Если подписи не совпадают, он не будет загружать файл и все символы, необходимые для отладки. Удалите это из отладочной сборки.

1
Tom Gordon

[WINCE] Я столкнулся с этим во время сборки на WinCE, казалось, что «Очистка» не очистила целевую папку на устройстве, я получил отладку/откат, изменив папку «Вывод» на устройствах. (Свойства проекта -> вкладка «Устройства» -> изменить папку вывода на другую, отличную от предыдущей неудачной отладки) - и вуаля !! это работает. Возможно, придется выполнить ручную очистку устройства, но это будет позже.

Надеюсь, это поможет.

1
WindyHen

В моем случае в файле AssemblyInfo.cs была строка ниже, и я прокомментировал ее, и все было правильно:

[Assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
1
Hessam J.E

Я прошел все ответы, ничего не помогло. В моем случае проблема с web.config file. Это был <compilation debug="false" strict="true" 

Я поменял на

<compilation debug="true" strict="false". Теперь я могу отлаживать приложение.

1
Chandu

В моем случае я отлаживал расширение WPF, используя экспериментальный экземпляр Visual Studio. После начала отладки, а затем приостановив перезапись, я открыл окно Debug > Windows > Modules. Там я мог видеть каталог, в который Visual Studio пыталась загрузить символы C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\15.0_76a9e536Exp\Extensions\<companyName>. После остановки отладки я удалил целевую папку с помощью проводника Windows и перезапустил отладчик. Затем Visual Studio смогла достичь точки останова.

1
Paul Schroeder

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

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

1
DamienMann

Я получил это и был озадачен (с помощью Visual Studio 2013 Premium).

Обычно наши приложения на работе ссылаются на .dll в определенном каталоге/app, например: C:\OurCompanyApps\xxxxxx.dll. Это происходило в решении, в котором есть несколько проектов WinForm и .dll. Проекты .dll компилируются в C:\OurCompanyApps \, а проекты WinForm ссылаются на скомпилированные файлы .dll в этом месте.

Проблема: Я обнаружил, что рассматриваемое приложение ссылается на проект .dll в папке «Управление исходным кодом»\Debug вместо скомпилированного файла .dll в C:\OurCompanyApps.

Решение: Я удалил ссылку и заново добавил ее в папку C:\OurCompanyApps \. Затем я мог пройти через точки останова, которые я добавил в коде .dll.

Надеюсь, это кому-нибудь поможет.

1
clamum

В моем случае это было потому, что мой профиль публикации (Publish to local IIS site) был каким-то образом настроен на Release Configuration, несмотря на то, что для глобальной конфигурации сборки было задано Debug. Модифицированный профиль публикации для конфигурации отладки решил проблему для меня.

1
george.himself

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

Причина, по которой он будет создаваться путем создания проектов один за другим в определенном порядке, заключается в том, что другие проекты ссылаются на те же библиотеки, но затем собираются в GAC. Решение заканчивается построением, но символы, которые он загружает, взяты из GAC, и эти символы могут устареть.

Решение, как бы то ни было, состоит в том, чтобы реструктурировать физическую структуру папок вашего решения и проектов или открыть файлы .csproj индивидуально и исправить относительные пути так, чтобы все ссылки на любую заданную библиотеку в конечном итоге указывали на одно и то же местоположение во всех проектах. Или, возможно, используйте токен $(SolutionDir).

И если все остальное по-прежнему не удается, вам нужно принудительно сбросить Visual Studio для конфигурации конфигурации сборки, и для этого необходимо отменить проверку всех проектов для всех конфигураций сборки, а затем перепроверить их все - см. Решение здесь .

1
Neo

Убедитесь, что ваш код не выдается во время ссылки. Даже если компилятор может перестроить объект, если компоновщик не видит ссылки на код, он выбросит его и вызовет эту ошибку при попытке установить точку останова.

1
Nathan Kidd

У меня была такая же проблема, и я попробовал все возможное ... некоторые из них

1) Обнуление временных файлов во временных папках ASP.NET в папках bin и obj.

2) Снимите флажок «Оптимизировать код» и «Включить мой код».

3) Навигация и попытка вручную загрузить символы из окон модуля.

4) Проверка флага сборки в свойствах решения. ........

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

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

  • Щелкните правой кнопкой мыши по конкретному веб-проекту и выберите свойства
  • Перейти на вкладку Web
  • Вы можете увидеть кнопку Создать виртуальный каталог
  • Как только я щелкнул по нему, я увидел предупреждающее сообщение о том, что «(имя проекта) сопоставлено с (anotherProjectName)», вы уверены, что хотите сделать переназначение? Что-то вроде этого
  • тогда имело смысл, почему я вижу ненужное имя проекта в окне модулей
  • Затем я перестроил решение и смог достичь точки останова
1
user1505521

В моей ситуации Visual Studio загружает библиотеки DLL в Global Assembly Cache (GAC) , а не в DLL в моем списке проектов. Я удалил библиотеки DLL в GAC, и теперь я вижу, как работает точка останова.

0
Tuyen Nguyen

В моем случае это начало происходить после обновления Windows , оказалось, что обновление окон отключило службы IIS, из-за чего у моего API не было возможности установить заданную точку останова, но что на самом деле происходило то, что IIS не запускалось, и поэтому мой код приложения фактически не выполнялся. 

Дважды проверьте, включены ли службы IIS в меню «Функции Windows». 

Инструкции для IIS: 

  • панель управления
  • Программы
  • открывать или закрывать окна
  • тик интернет информационные услуги
  • перезапустить визуальную студию

При использовании IIS Express:

Откройте «Установка и удаление программ» со старой панели управления и запустите исправление в IIS Express. Или вы можете перейти в Панель управления - >> Программы - >> Программы и компоненты - >> Включить или отключить функции Windows. - >> Информационные службы Интернета и проверьте родительскую папку Информационные службы Интернета. 

Я получил этот ответ здесь: указанный аргумент был вне диапазона допустимых значений. Имя параметра: сайт

0
Josh Siegl

Я сделал чистую и восстановить вещи. Это не сработало (обычно так и есть). Теперь я присоединяюсь к w3wp перед вызовом через службу, затем позволяю ему один раз вызвать службу, достигнуть другой точки останова, затем я изменяю точку выполнения так, чтобы она снова запускала ту же строку (вызывая службу), затем она фактически останавливается на моей точке останова внутри метода обслуживания.

0
Gary

Я использовал IE8 и пытался внести изменения в некоторые файлы JavaScript. Хотя код выполнялся, он не останавливался на точках останова, и я получал то же сообщение на точках останова. Обновление до IE11 исправило проблему для меня.

0
Brad Germain

Основной проект имеет как ссылку проекта, так и ссылку файла на один и тот же проект.

В моем случае основной проект имел две ссылки: одна ссылка на проект, а другая ссылка на файл, на dll, созданную тем же проектом.

Таким образом, файл pdb не копировался в папку bin основного проекта, что приводило к недоступности символов.

0
Abhijeet Nagre

Возникла проблема при попытке отладки приложения silverlight в проекте sharepoint. На вкладке sharepoint свойств проекта вы должны явно включить отладку для приложений silverlight. Иначе вы получите эту ошибку.

0
dgorissen

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

Другое решение - убедиться, что ваш код доступен. Например:

Любой код, который добавляется после возврата в функцию. Добавление GOTO, который эффективно пропускает ваш код с точкой останова.

Я не говорю, что это нормально, но они также являются причинами.

0
Nathan

Новый способ решения этой проблемы появился в Visual Studio 2017 с 15.3.1 по 15.3.5. Если вы используете EditorConfig , опция charset = utf8 вызывает эти симптомы. Команда VS воспроизвела это и говорит, что работает над этим .

Итак, одно из исправлений - закомментировать строку charset = utf8 в файле .editorconfig.

По состоянию на 9 октября 2017 г. статус «Фиксированный - ожидается релиз».

(Благодаря Джону Хаттону, «Точка останова в настоящее время не будет достигнута. Исходный код отличается от исходной версии.» Что это значит?

0
JohnT

Нет данных, как F11 на chamada do método, forçando entrar no método onde o BP com problemma estava, sendo assim, o точка останова для восстановления.

В моем случае я дал F11 в вызове метода, заставив ввести метод, в котором была проблема BP, поэтому точка останова была восстановлена.

0
Melqui Franco

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

0
Josh

При отладке сборки путем запуска внешнего приложения есть некоторые дополнительные соображения:

  • Внешнее приложение может загружать свои собственные копии сборок (DLL) из файла манифеста. (например, файл appname.exe.manifest) Если это так, вам необходимо отключить это, возможно, вручную изменив манифест.

  • Внешнее приложение может просто попытаться загрузить из DLL в своей папке, даже без манифеста. Вам придется удалить/переименовать их.

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

0
DaveInCaz

Попробовав несколько таких вещей, в конечном итоге у меня сработало следующее:

В Debug > Options > General снимите флажок Enable Edit and Continue.

0
melicent

Моей причиной был устаревший Telerik OpenAccess ORM. Установил новую версию, потом все работает. Необходимо скачать и установить. Только обновление NuGet не сработало. кто-то еще также упомянул об этом

0
Kevin .NET

Также была эта проблема с проектом, сгенерированным Qt .pro. Оказалось, я забыл установить переменную окружения, которая определяет свойства/general/Output Directory. Тривиальный, и один, на который нужно смотреть в первую очередь, но иногда мы упускаем очевидное.

0
charlie

Также стоит упомянуть, что в некоторых ситуациях возникает проблема, потому что проект, который вы хотите отладить, является внешней службой. В этом случае вы должны присоединить отладчик к запущенному процессу.

0
DiSaSteR

Ни одна из идей здесь не сработала для меня, но я благодарю всех за их усилия - в моем случае это было приложение Windows, которое ссылалось на проект библиотеки классов - я мог отлаживать приложение windows, но не библиотеку классов. Файлы pdb генерировались. Однако я обнаружил, что, если я отлаживаю вызов библиотеки классов, я могу войти в библиотеку.

0
mattpm

Иногда IIS по какой-то причине будет удерживать файлы. Мне пришлось удалить сайт и создать его заново, и проблема ушла

0
Kai CriticallyAcclaimed Cooper

Возможно, вам не следовало делать AutoPostBack.
Если ваш код не создает PostBack, вы можете получить эту ошибку.
С уважением.

0
mrbengi

Проект> Свойства> C++> Общие> Формат отладочной информации - База данных программы (/ Zi)

Я проверил Linker> Debugging и уже генерировал отладочную информацию. Когда я запустил приложение, символы были загружены ( Отладка> Windows> Модули ). Установка формата информации отладки исправила это для меня. Надеюсь, это поможет кому-то!

0
RomanRobot

В моем случае ни одно из этих решений не сработало. Я должен был пойти в 

Инструменты -> Импорт и экспорт настроек -> Сбросить все настройки.

и тогда отладка начала работать без проблем.

0
nPcomp

Я понимаю, что это старая тема, но для блага других вот что случилось со мной. Проблема заключалась в том, как я применил атрибут Designer. Я создал дизайнерский класс. Дизайнер переопределил свойства PrefilterProperties, чтобы сделать свойства Anchor, AutoScroll и AutoSize только для чтения.

[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")]
public class j2aScrollableContainerDesigner : ParentControlDesigner

Я создал класс и добавил к нему моего дизайнера. Это стандартный способ присоединения атрибута конструктора к классу, который встречается во многих примерах MSDN. Конструктор, очевидно, не использовался, потому что когда я поместил свой элемент управления на поверхность конструктора Form, ни одно из упомянутых выше свойств не было прочитано только в таблице свойств.

[Designer(typeof(j2aScrollableContainerDesigner), typeof(ParentControlDesigner))]
public partial class j2aScrollableContainer : UserControl

В отчаянии я изменил объявление атрибута Designer в своем классе на следующую подпись, и теперь вызывался конструктор. У меня нет объяснения, почему один способ работает, а другой нет. Если я вернусь к описанному выше объявлению атрибута Designer, дизайнер снова перестанет работать.

[Designer(typeof(j2aScrollableContainerDesigner))]
public partial class j2aScrollableContainer : UserControl
0
j2associates

Использование Dependency Injection, Autofac в моем случае, для автоматического разрешения при сканировании сборок. Одна из упомянутых сборок не была решена.

Мое исправление состояло в том, чтобы напрямую ссылаться на класс из Assembly, чтобы заставить Visual Studio загрузить Assembly. Простое использование сборки в качестве ссылки не приведет к загрузке сборки при запуске приложения.

0
wonster

Убедитесь, что вы включили «Включить только мой код». Если да, отключите его.

0
CiriousJoker

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

0
Edza

У меня такое было при запуске веб-сайта ASP.NET в 2013 году. Похоже, что в моем случае он исчезает после полного запуска веб-браузера.

0
Curtis White

Еще одно решение для некоторых случаев, когда возникает эта ошибка: проверьте ваши Build Action .

У меня была эта проблема в проекте asp.net MVC3; один из моих контроллеров по неизвестной причине установил действие сборки для EntityDeploy, хотя это должно было быть Compile .

0
Nenotlep

Мой отсутствовал, главным образом, потому что у меня было 2 проекта, припаркованных на один URL IISExpress, убедитесь, что вы указали другой порт и нажали CreateVirtualDirectory.

0
Cristian E.

Я столкнулся с этой проблемой, пытаясь отладить фоновый агент приложения WP7. Как оказалось, эта проблема отладки была лишь признаком реальной проблемы: мой фоновый агент вообще не работал в режиме отладки. Я следовал следующему руководству о том, как реализовать фоновый агент: http://msdn.Microsoft.com/en-us/library/hh202941(v=vs.92).aspx

... но забыл добавить

#define DEBUG_AGENT

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

0
Anders

Отладка ->Options -> General -> Снимите отметку для «Enable Just My Code»

Это сработало для меня.

0
abdallah mahmoud

Еще один совет, который работал для меня.

Если ваш проект/библиотека подписан, даже не подписан с задержкой, он все равно может не быть отлаживаемым. Попробуйте отключить параметр подписи, отладить его, а затем восстановить параметр подписи.

0
Vadim Berman

Следующие шаги разветвились для меня:

  1. Перейдите в папку «bin» вашего проекта.
  2. Удалите папку «Debug».
  3. Создайте свой проект снова.
  4. Папка Debug будет создана заново.

Теперь вы можете начать отладку снова.

0
Karthik

Для меня:

  • Свойства открытого решения
  • Выберите «Общие свойства»/«Отладка исходных файлов»
  • В окне «Не искать эти исходные файлы» удалите файлы, которые почти наверняка там ошибочно.
0
Hot Licks

Я установил точку останова и получил это сообщение при выполнении кода. Однако точка останова была доступна только для юнит-теста. Мне пришлось щелкнуть правой кнопкой мыши на модульном тесте и выбрать «Отладочные юнит-тесты».

0
Brian Leeming

Поставлю это здесь в надежде, что это кому-нибудь поможет.

У меня была проблема с отсутствующими символами в отношении веб-службы.

Дурацкое решение состояло в том, что проект установки не был настроен на сборку при создании решения, что означало, что, когда я щелкнул правой кнопкой мыши на проекте установки и установил службу, затем подключился к процессу; та же устаревшая служба была установлена ​​без pdb, потому что она не совпадала = нет рабочих точек останова.

Ручным решением было щелкнуть правой кнопкой мыши проект установки и собрать его, а затем установить его. Затем я изменил список сборки проекта решения, включив в него проект установки, когда решение создается в режиме отладки.

0
Paul Zahra

Если у вас есть и C #, и собственный код (C/C++), убедитесь, что для проекта включена встроенная отладка:
1. Щелкните правой кнопкой мыши ваш проект запуска в обозревателе решений.
2. Выберите Свойства
3. Выберите вкладку «Отладка»
4. Убедитесь, что отладка собственного кода включена  "Enable native code debugging" must be checked in order to be able to debug your native code

0
M.Paunov

Я думаю, что источник, если эта ошибка, символы отладки трудно найти решение после сборки для выпуска.

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

В конечном итоге у меня получилось щелкнуть правой кнопкой мыши проект в обозревателе решений> Отладка> Начать новый экземпляр.

0
I Want Answers

Для моего приложения Xamarin оно, наконец, начало отлаживаться после того, как я полностью очистил папку Source Control, выполнил «Get Latest» и перестроил решение. 

0
My Stack Overfloweth

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

Код, который она хотела отладить, находился в проекте, на который ссылается текущий проект, и он никогда не выполнялся в сеансе Visual Studio. DLL запускался из папки GAC, после того как она удалила, что проект вообще не запустился, выдав исключение, как только он попытался запустить. Решение состояло в том, чтобы включить указанный проект в локальную папку.

Из SolutionExplorer:

  1. Выберите «отладочный» проект, из которого вы исчерпаете
  2. Развернуть Ссылки (если не видно, выберите меню Проект , элемент Показать все файлы )
  3. Щелкните правой кнопкой мыши проект, который имеет точку останова, которая не работает, выберите Свойства
  4. Изменить значение Копировать локальный с Ложь на Истина

Попробуйте снова. (Это сработало для нее!)

0
Abacus

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

Возьмите следующие примеры проектов в решении:

  • Vendor.ABC
  • MyLib (ссылки Vendor.ABC)
  • MyProg (консольная программа: ссылка только на MyLib)
  • MyProg.Web (проект MVC: ссылки на MyLib и проект решения Vendor.ABC)
  • MyLib.Test (тестовый проект: ссылки на MyLib и пакет Nuget Vendor.ABC)

MyProg и MyProg.Web оба загрузят символы отладки. MyLib.Test не будет загружать символы отладки.

0
Joshcodes