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

Настольное приложение C # в экспресс-версии работало, но через 5 секунд перестало работать.

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

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

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


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


person Community    schedule 28.01.2010    source источник
comment
Заставил их обе загрузить отладочную информацию. И попробуйте выгрузить один из проектов, которые у вас не запущены в данный момент.   -  person Vasyl Boroviak    schedule 28.01.2010
comment
При отладке перейдите к представлению «Отладка», «Windows», «Модули». Это покажет информацию о загруженных модулях и статусе символа. Вы можете щелкнуть модуль правой кнопкой мыши и попытаться загрузить символы из другого места.   -  person Polyfun    schedule 28.01.2010
comment
В экспресс-версии нет представления модулей.   -  person Instance Hunter    schedule 28.01.2010
comment
Хорошее замечание о сборках, которые не загружаются до тех пор, пока они не понадобятся. Отладчик покажет, что точка останова не будет достигнута, но отображение изменится / ваша точка останова будет достигнута после загрузки сборки. Дрянным обходным решением этой проблемы пользовательского интерфейса было бы вызов сборки при запуске программы для принудительной загрузки сборки.   -  person Tim Coker    schedule 17.10.2011
comment
У меня есть несколько проектов в решении. Некоторые из них являются библиотеками классов ... я использую там ссылки в других решениях и проектах ... Во время отладки: я обнаружил, что это не так, я поставил точку останова, но показываю сообщение, которое также следует за вашими шагами   -  person Muhammad Azeem    schedule 19.10.2012
comment
Я также столкнулся с такой ошибкой и попробовал много решений, но решение ниже работает для меня лучше всего: это связано с другой версией фреймворка, когда вы пытаетесь прикрепить процесс. Для получения дополнительных сведений посетите: stackoverflow.com/a/13106908/1218422   -  person Bhaumik Patel    schedule 28.10.2012
comment
Что ж, у меня есть этот симптом на VS 2012, практически сразу после установки, он работает в Windows 7. Пробовал, может быть, 8 исправлений ниже - ничего не сработало. Я просто запускаю простой пример программы.   -  person Hot Licks    schedule 12.02.2014
comment
Сделал все шаги, кроме удаления файла C: \ Windows \ Temp, и после удаления он работает нормально. .......: D   -  person Prageeth godage    schedule 19.03.2015
comment
Я исправил проблему, внеся незначительные изменения в исходный код (сдвиг строки), чтобы заставить его перестроиться, и проблема исчезла.   -  person Anders Finn Jørgensen    schedule 18.01.2016
comment
Убедитесь, что все ваши проекты загружены в ваше решение. У меня была одна, которой не было, и это было причиной проблемы.   -  person live-love    schedule 05.02.2016
comment
У меня была такая же проблема, и я заметил, что для этой конфигурации сборки у меня не было <DebugSymbols>true</DebugSymbols> в VS2015, я вручную добавил его, и он работал нормально.   -  person kuskmen    schedule 21.11.2016
comment
Удаление файла .suo могло бы решить эту уродливую проблему в моем проекте.   -  person Roland    schedule 02.06.2017
comment
По теме: stackoverflow.com/q/31732944/3258851   -  person Marc.2377    schedule 21.12.2018
comment
Спасибо за недавнее редактирование. У меня была такая же проблема. Моя точка останова dll жаловалась, что у нее не было никакой отладочной информации, пока я не открыл форму, загружающую dll.   -  person Alex    schedule 14.04.2020
comment
Пришлось перезагрузить мой компьютер, а не перезапустить VS, а перезагрузить мой компьютер, и отладка вернулась к работе   -  person tfa    schedule 24.04.2020
comment
Первое, что нужно проверить, это то, что конфигурация решения на верхней панели должна находиться в режиме отладки.   -  person Rehmanali Momin    schedule 30.04.2020
comment
Проверьте исходный файл, который вы редактируете. Например, если это Program.cs, наведите указатель мыши на заголовок, чтобы увидеть полный путь. Возможно, вы переместили свое решение, но ваше рабочее пространство по-прежнему указывает на файл, который у вас есть в старом месте!   -  person Alexandru    schedule 24.08.2020


Ответы (119)


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

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

person Community    schedule 28.01.2010
comment
Речь идет о экспресс-редакции, к которой, к сожалению, этот ответ не относится. На самом деле ни один из ответов у меня не работает, я также попытался удалить папку Debug и восстановить. - person Nicolas Raoul; 21.09.2012

Убедитесь, что вы не в выпуске, а в отладке.

При отладке:

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

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

  1. Щелкните правой кнопкой мыши свой проект.
  2. Выберите [Свойства].
  3. Выберите вкладку [Сборка].
  4. Убедитесь, что установлены флажки [Определить константу DEBUG] и [Определить константу TRACE].
  5. Убедитесь, что флажок [Оптимизировать код] не установлен.
  6. Нажмите кнопку [Advanced] внизу вкладки Build.
  7. Убедитесь, что для параметра [Отладочная информация:] установлено значение [полный].
  8. Нажмите [ОК] и перестройте проект ;-)

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

person Community    schedule 04.09.2012
comment
Убедитесь, что для параметра [Debug Info:] установлено значение [full] - исправлено для меня! В моем проекте настроено несколько конфигураций, в новых, которые я добавил, этого набора не было. - person Chiefy; 13.02.2014
comment
Оказывается, я был в сборке релиза. тск. - person Aloha; 29.08.2015

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

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

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

person Community    schedule 28.01.2010

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

person Community    schedule 30.12.2011
comment
Для ясности: в VS 2017 этот параметр находится в диалоговом окне «Инструмент», «Параметры» на панели «Отладка», «Общие» (если быть точным, панели «Отладка» нет). Флажок называется «Включить только мой код, а не только мой код». - person Jazimov; 25.06.2017

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

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

Посмотрите в Common Properties -> Startup Project

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

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

person Community    schedule 11.07.2012
comment
Это также обрабатывает ситуации, когда вы пытаетесь отладить WEB-проект, который представляет собой конечную точку удаленного взаимодействия .NET, работающую на сервере разработки VS и не показывающую загруженных символов. - person D-Sect; 22.04.2013

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

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

введите описание изображения здесь

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

введите описание изображения здесь

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

введите описание изображения здесь

введите описание изображения здесь

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

введите описание изображения здесь

person Community    schedule 04.12.2014
comment
Я работал в release режиме. Спасибо !! - person Dipak Telangre; 30.01.2018
comment
Ключевым моментом для меня было то, что флажок «Развернуть» не был установлен, поэтому pdb не был повторно развернут после сборки. - person Ben; 14.05.2018

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

person Community    schedule 15.05.2013
comment
На самом деле за это нужно проголосовать где-нибудь наверху. Я потратил много времени, выполняя все вышеперечисленные ответы, но точка останова действительно была бы достигнута. Просто проверьте :) Кроме того, это было настольное приложение WPF. - person Bartosz; 15.01.2016

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

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

Решение?

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

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

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

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

Исправленная ошибка отладки

person Community    schedule 30.06.2014
comment
Для тех, кто пробовал все на этой странице, я исправил свою проблему, переключившись на «Управляемый (v4.5, v4.0) код»! - person stevekrzysiak; 06.08.2015

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

«Показывает,

person Community    schedule 11.09.2013

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

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

person Community    schedule 10.06.2016

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

person Community    schedule 22.09.2016

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

person Community    schedule 01.05.2012

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

person Community    schedule 21.05.2018

Отладка ->Options -> General -> Снимите флажок "Enable Just My Code"

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

person Community    schedule 07.05.2019

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

person Community    schedule 23.02.2010

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

person Community    schedule 29.05.2019

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

person Community    schedule 13.10.2010

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

Это устраняет снятие флажка «Использовать управляемый режим совместимости» в параметрах инструментов отладки.

person Community    schedule 05.03.2014

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

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

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

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

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

person Community    schedule 26.12.2013

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

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

Лоток IIS

person Community    schedule 06.06.2017

  1. Чистое решение и восстановление
  2. Убедитесь, что для конфигурации установлено значение «Отладка».
  3. Убедитесь, что файл PDB сам находится в папке Debug.
  4. В меню «Отладка» выберите «Включить все точки останова».
person Community    schedule 20.11.2019

Убедитесь, что следующие два параметра одинаковы в Visual Studio:

Щелкните правой кнопкой мыши тестовый проект, перейдите на вкладку «Свойства», «Сборка» и посмотрите на Целевую платформу.

Мои все настроены на "Любой процессор", поэтому x64

введите здесь описание изображения

В строке главного меню выберите Тест, Настройки теста, Архитектура процессора по умолчанию.

Мой был установлен на X86

введите здесь описание изображения

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

Обновление:

В Visual Studio 2019 меню немного перемещено: введите описание изображения здесь

person Community    schedule 30.07.2019

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

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

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

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

Может этот ответ кому-то поможет!

person Community    schedule 08.06.2015

У меня была аналогичная проблема, и я сделал следующее: Отладка => Параметры => Общие => Снимите флажок «Включить только мой код». У меня это сработало ..

person Community    schedule 22.08.2018

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

person Community    schedule 07.12.2015

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

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

person Community    schedule 28.01.2017
comment
я сделал pdb_only, также очистил и перезапустил браузер - person Jason; 27.07.2017

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

Закройте и снова откройте

решение, которое устранит проблему

person Community    schedule 12.04.2017
comment
Работал для меня в Microsoft Visual Studio 2013 в разделе: Файл ›Закрыть решение, затем файл› Открыть решение (должно быть предварительно загружено в той же папке, в которой оно было). Точки останова мгновенно изменились с желтого флажка на красный. Тогда спасибо. - person Zargold; 12.05.2017

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

person Community    schedule 15.11.2017
comment
Могу ли я проголосовать 10 тысяч раз? Хуже всего то, что я думаю, что искал это в Google уже 10 раз, и каждый раз - одна и та же глупая ошибка. Может быть, Microsoft сможет намекнуть на это пользователю? - person tfrascaroli; 01.12.2017

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

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

person Community    schedule 15.06.2017

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

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

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

System.Diagnostics.Debugger.Launch();

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

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

person Community    schedule 05.02.2016

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

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

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

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

person Community    schedule 02.10.2012

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

person Community    schedule 02.04.2012

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

person Community    schedule 11.07.2017
comment
это плохая идея. Лучше скомпилировать в режиме отладки, а затем перейти в режим выпуска после того, как все будет сделано. - person phuclv; 22.11.2018

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

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

person Community    schedule 09.04.2019
comment
Через несколько дней я столкнулся с той же проблемой, и на этот раз вышеуказанное решение не помогло мне решить эту проблему. Я запускаю свое решение с помощью docker-compose, и оказывается, что проблема связана с файлом dockerfile моего проекта. Независимо от того, что VS изначально выгружало в этот файл, образ неправильно строился и не помещался в нужное место. - person melicent; 12.04.2019
comment
Я не могу изменить эту настройку, она неактивна. Я запускаю VS как администратор. - person FrenkyB; 13.09.2019

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

person Community    schedule 06.06.2012

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

person Community    schedule 24.07.2013

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

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

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

person Community    schedule 11.03.2014

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

Решение 1

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

Решение 2

Начните отладку, перейдите в Debug ---> Windows ---> Modules. Выберите одну сборку и щелкните правой кнопкой мыши ---> (Select) Symbol Setting. Задайте путь к вашей корзине в символе кэша в этом каталоге и выберите Microsoft Servers в поле Symbol of PDB location. Щелкните Загрузить все символы. На это потребуется время. Затем нажмите ОК.

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

person Community    schedule 23.12.2013
comment
ЕСЛИ вы используете процесс «Присоединить к», Инструменты --- ›Присоединить к процессу, затем установите флажок« Присоединить к должно быть автоматически: собственный код ». Наш исходный файл должен быть в режиме только для чтения. Мышь часом открытый исходный файл и проверьте - person Bala Kumar; 23.12.2013
comment
В нашем проекте использовался VSTS ... это избавило меня от головной боли ... Спасибо - person envyM6; 08.08.2017

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

Надеюсь на эту помощь.

person Community    schedule 21.04.2015
comment
Да, просто удалите исполняемые файлы, переименуйте их, если они заняты. - person Ben; 07.01.2019

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

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

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

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

person Community    schedule 12.11.2015

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

Просто установите для проекта значение «Установить как запускаемый проект».

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

person Community    schedule 02.09.2016

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

1) Создание временных файлов во временных папках ASP.NET в папках bin и obj.

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

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

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

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

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

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

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

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

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

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

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

person Community    schedule 11.07.2017
comment
У меня это тоже сработало. - person Kim Homann; 15.03.2021

Если у вас есть и C #, и собственный код (C / C ++), убедитесь, что для проекта включена собственная отладка:
1. Щелкните правой кнопкой мыши свой запускаемый проект в обозревателе решений
2. Выберите «Свойства»
3 . Выберите вкладку «Отладка»
4. Убедитесь, что включена отладка собственного кода. Чтобы иметь возможность отлаживать собственный код, необходимо установить флажок Включить отладку собственного кода

person Community    schedule 12.11.2018

Попробуй это сделать. У меня это сработало.

Отладка => Параметры => Общие => Снимите флажок «Включить только мой код»

person Community    schedule 21.02.2019

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

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

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

person Community    schedule 04.04.2019

Я решил так: запустить проект. Перейдите в, Отладка -> Windows -> Модули. Выберите библиотеку, которую вы хотите отлаживать, и щелкните ее правой кнопкой мыши. Выберите -> «Загрузить символы», а затем замените «Пропущенные символы загрузки» на «Символы загружены».

person Community    schedule 04.12.2019

У меня была такая же проблема с сообществом Visual Studio 2019 и проектом веб-формы Asp.net. Я трачу 1,5 дня, и любой из этих 30 ответов решил мою проблему. Наконец, я запускаю установщик Visual Studio exe и выбираю вариант восстановления. Итак, моя конфигурация была сброшена, и проблема полностью исчезла.

person Community    schedule 27.08.2020

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

Я изменился на

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

person Community    schedule 10.09.2015

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

person Community    schedule 02.10.2015

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

person Community    schedule 28.01.2016

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

person Community    schedule 04.05.2016
comment
Где находится файл проекта. Как мне найти этот файл. - person Akshay; 13.11.2017
comment
Это файл .proj. - person done_merson; 14.11.2017

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

[assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
person Community    schedule 22.07.2016

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

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

person Community    schedule 09.12.2016

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

person Community    schedule 12.10.2017

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

person Community    schedule 29.04.2018

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

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

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

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

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

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

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

person Community    schedule 12.03.2018

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

person Community    schedule 22.02.2014

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

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

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

person Community    schedule 27.12.2018
comment
Казалось, это помогло. Спасибо - person Brian; 13.07.2020

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

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

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

person Community    schedule 03.03.2019

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

person Community    schedule 20.05.2019

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

В моем случае у меня есть GameObject, в компоненты которого я добавил неправильный скрипт. Следовательно, у Visual Studio нет способа реально добраться до кода.

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

person Community    schedule 03.02.2020

UWP:

Если вы отлаживаете универсальный проект Windows [UWP], процесс аналогичен решения со смешанным кодом C # и собственным кодом, за исключением того, что вам нужно установить для процесса приложения или отладчика процесса фоновой задачи значение Managed Only для отладки кода C #.

  1. Щелкните правой кнопкой мыши свой запускаемый проект в обозревателе решений.
  2. Выбрать свойства
  3. Выберите вкладку Debug
  4. Установите для типа отладчика процесса значение Только управляемый

введите описание изображения здесь

person Community    schedule 08.09.2020

Я решаю эту точную проблему следующим образом:

  1. Открыть студию от имени администратора
  2. Используйте Build- ›Чистое решение
  3. Используйте Build- ›Build
person Community    schedule 11.04.2021

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

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

#define DEBUG_AGENT

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

person Community    schedule 14.02.2012

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

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

person Community    schedule 28.11.2012

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

person Community    schedule 21.01.2013

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

person Community    schedule 15.04.2013

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

person Community    schedule 09.10.2013

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

person Community    schedule 03.12.2013

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

person Community    schedule 11.01.2014

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

person Community    schedule 26.02.2014

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

person Community    schedule 03.03.2014

Для меня:

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

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

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

person Community    schedule 03.08.2014

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

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

Из SolutionExplorer:

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

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

person Community    schedule 25.08.2014

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

person Community    schedule 17.03.2015

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

person Community    schedule 27.07.2015

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

person Community    schedule 05.08.2015

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

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

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

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

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

[Designer(typeof(j2aScrollableContainerDesigner))]
public partial class j2aScrollableContainer : UserControl
person Community    schedule 22.01.2016

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

person Community    schedule 28.01.2016

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

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

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

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

person Community    schedule 01.02.2016

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

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

person Community    schedule 25.06.2016

В главном проекте есть ссылка на проект и ссылка на файл на один и тот же проект.

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

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

person Community    schedule 01.07.2016

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

person Community    schedule 01.11.2016

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

person Community    schedule 26.11.2016

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

person Community    schedule 21.12.2016

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

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

person Community    schedule 29.03.2017

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

person Community    schedule 12.04.2017

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

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

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

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

person Community    schedule 18.05.2017

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

person Community    schedule 24.07.2017

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

person Community    schedule 18.09.2017

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

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

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

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

person Community    schedule 18.10.2017

No meu caso dei um F11 na chamada do método, forçando entrar no método onde o BP com problem estava, sendo assim, o break point foi recuperado.

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

person Community    schedule 03.05.2018

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

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

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

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

person Community    schedule 30.08.2018

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

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

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

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

person Community    schedule 15.11.2018

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

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

IDE: VS 2013 Professional
Version: 12.0.40629.00 Update 5
person Community    schedule 18.06.2019

У меня была такая проблема.

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

Точка останова находилась в aspx.vb, но была недоступна и содержала предупреждение об этом вопросе.

Решением было удалить три файла и снова импортировать их. Теперь я могу добраться до точки останова.

person Community    schedule 20.08.2019

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

person Community    schedule 20.10.2019

Я проверяю, что все ответы на этот вопрос не работают для меня, я использую этот метод ниже:

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

person Community    schedule 24.11.2019

Убедитесь, что ваши файлы открыты из соответствующего проекта, а не из другого (старого).

Пример:

  • Вы работаете над проектом, закрываете VS, но оставили файлы (вкладки) открытыми в VS.

  • Скопируйте свой проект в новую папку и откройте решение. Файлы (вкладки) будут загружаться из старого каталога, и если вы хотите отладить, вы не сможете отлаживать их, пока не закроете их и не загрузите повторно из текущей папки.

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

person Community    schedule 28.11.2019

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

Как я решил?

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

В разделе Серверы я изменил IIExpress на Локальный IIS, создал виртуальный каталог и вуаля!

person Community    schedule 17.01.2020

Проверьте, есть ли в файле csproj строка / запись с <DebugType>Full</DebugType>. Если она существует, попробуйте удалить ее и повторите попытку для отладки.

person Community    schedule 20.01.2020

Может, я смогу добавить что-нибудь новенькое. Если я не пропустил что-то (возможное!) В этих многочисленных сообщениях, похоже, нет принятого решения или какого-либо упоминания System.Reflection.Assembly.LoadFrom (filename), который является методом .NET. предоставляет, когда вам нужен явный контроль. Если на вкладке «Модули» отображаются сборки, загружаемые из неожиданных мест, вы можете исправить это и восстановить отладочные работы.

Иногда для этого есть очень веские причины. Для меня это было тогда, когда я поддерживал платформу, которая позволяла пользователям создавать несколько произвольных подключаемых модулей, и мне приходилось быть осторожным, чтобы не было гонки с этими подключаемыми модулями по поводу того, откуда загружаются общие сборки. Целью было убедиться, что «золотые» версии, находящиеся в том же каталоге, что и мой Platform.exe, ВСЕГДА будут загружаться без исключения. (Включение их в GAC иногда является правильным ответом, но не всегда).

В других сообщениях я справедливо упоминал, что настройки сборки по умолчанию заставляют ссылочные сборки копироваться локально в \ bin подключаемого модуля при его сборке. Плагины - это один из примеров использования, когда это полная противоположность тому, что вы хотите. Может быть 100 пользователей со 100 плагинами и 100 копиями данной сборки. Какой из 100 загрузится? И будет ли это последняя правильная версия?

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

using System;
using System.ComponentModel;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Windows.Forms;

[STAThread]
static void Main()
{
    PreLoadAssemblies();
    Form appInstance = new InstanceManager();
    Application.Run(appInstance);
}

private static void PreLoadAssemblies()
{
    // Obtain an explicit folder path relative to where
    // the main executable ("Platform.exe") is running.
    string dir =
        Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) +
        @"\Accessories\PlugIn\google-drive-sync\netstandard2.0";

    PreLoadAssembly(dir, "Google.Apis.Auth.dll");
    PreLoadAssembly(dir, "Google.Apis.Drive.v3.dll");
    PreLoadAssembly(dir, "Google.Apis.Auth.PlatformServices.dll");
    PreLoadAssembly(dir, "Google.Apis.dll");
    PreLoadAssembly(dir, "Google.Apis.Core.dll");
    PreLoadAssembly(dir, "Google.Apis.PlatformServices.dll");
    PreLoadAssembly(dir, "Newtonsoft.Json.v10.dll");
}

private static void PreLoadAssembly(string dir, string name)
{
    try
    {
        Assembly resolved = Assembly.LoadFrom(dir + @"\" + name);
        Debug.Assert(resolved != null);
    }
    catch (Exception ex)
    {
        Debug.Assert(false, ex.Message);
    }
}
person Community    schedule 04.04.2020

У меня такая же проблема. Я перепробовал ВСЕ в этом посте.

Мое решение?

Измените версию Visual Studio (я пытался открыть ее на VS2013, в итоге открыл ее на VS2015)

person Community    schedule 09.04.2020

Для меня тестовый класс был помечен [Ignore]. Я не знаю, почему это все еще отображалось в обозревателе тестов, но неважно. Это с помощью среды модульного тестирования Visual Studio.

введите здесь описание изображения

person Community    schedule 28.05.2020

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

person Community    schedule 06.08.2020

Мой опыт заключается в попытке удаленно отлаживать веб-приложение, которое я развернул на сервере AWS. Проблема в том, что при развертывании на сервере он компилирует и создает файлы exe и pdb в это время. Но локальный скомпилированный файл exe и pdb не соответствует развернутым файлам на сервере, поэтому, когда я подключаюсь к удаленному процессу, а затем пытаюсь загрузить символы в Debug / Windows / Modules для DLL моего проекта, он находит локальный файл pdb и Я получаю сообщение об ошибке PDB не соответствует изображению.

Итак, попробовав все вышеперечисленные предложения, я сделал вот что, чтобы точки останова работали:

  • Подключитесь и войдите на удаленный веб-сервер.
  • Перейдите в папку, в которой хранятся файлы exe и pdb. В моем случае это был C: \ inetpub \ AspNetCoreWebApps \ app.
  • Скопируйте файлы * .pdb в эту папку.
  • Вставьте файлы pdb на свой локальный компьютер, где он ищет файлы pdb проекта. Вы найдете путь в Debug / Windows / Modules, щелкните правой кнопкой мыши свою DLL и выберите Информация о загрузке символов ...
  • Теперь вы можете использовать Debug / Attach to Process ... для подключения к удаленному процессу, и он должен загружать символы, поскольку pdb теперь соответствует удаленному exe-файлу.

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

Возможно, удастся добавить путь к списку путей к символам, который будет загружать pdbs с удаленного сервера, но если он есть, я еще не нашел его. И это может быть более обременительным, чем простое копирование файлов pdb с удаленного сервера в локальную среду VS.

person Community    schedule 26.08.2020

В моем случае проблема заключалась в том, что я добавил новый проект / компонент и забыл его подписать. Когда подписаны другие компоненты решения, должны быть подписаны и ваши новые. Поэтому решение для меня заключалось в том, чтобы скопировать snk-файл (из другого проекта) в папку новых проектов, а затем в свойствах проекта / подписи выбрать его.

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

person Community    schedule 08.10.2020

Моя ситуация была с Visual Studio 2019, и у нас есть код как на C #, так и на C ++. Не уверен, что я напортачил, но решение заключалось в том, чтобы переключиться с автоматического на собственный, поскольку код C # работал.

Отладка - ›Прикрепить к процессу ... и там, где написано Прикрепить к: выберите собственный код (в моем случае). Найдите рассматриваемый процесс и вуаля.

person Community    schedule 27.01.2021

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

ПРОЕКТ ПРАВОЙ ЩЕЛЧОК - ›Недвижимость -› СТРОИТЬ - ›Дополнительно. Измените отладочную информацию с Нет на только Pbd или полную

введите описание изображения здесь

person Community    schedule 01.03.2021

Перейдите в свойства проекта, затем на вкладку Build. Нажмите «Дополнительно ...» внизу и измените «Отладочную информацию» на «Полная»  введите описание изображения здесь

person Community    schedule 13.05.2021

В моем случае это был пакет под названием Strongnamer, включенный в другой Nuget, который вызвал проблему. Удаление Strongnamer решило проблему.

person Community    schedule 14.06.2021

Попробуйте чистое построение вашего решения. Работал у меня.

person Community    schedule 22.01.2015

Поскольку в другом проекте есть файл с таким же именем, возможно, у вас есть два контроллера с одинаковым именем

person Community    schedule 21.04.2020
comment
Это не должно приводить к появлению символа предупреждения. - person Enrico; 06.08.2020

В Visual Studio проверьте

Сборка => Диспетчер конфигураций => Конфигурация активного решения

Если для него установлено значение Release, а не Debug, точки останова не будут достигнуты.

person Community    schedule 13.06.2014
comment
@DaveInCaz благодарит вас за отрицательное голосование за мой правильный ответ, который дал четкую инструкцию о том, как решить проблему. Ответ, с которым вы связались, на самом деле не говорит вам, как установить конфигурацию, как это делает мой ответ. - person Appetere; 14.11.2018
comment
Я не отрицал ответ. Как правило, я бы не стал этого делать, если это действительно неправильно. Кто-то еще мог заметить мой комментарий и проголосовать против? - person StayOnTarget; 14.11.2018

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

Дизайнер отредактировал заголовки страниц и заменил мои отдельные файлы JavaScript разработчика комбинированной минифицированной версией. Я не осознавал этого до получасовых попыток поиска в Google и отладки.

Так что в основном я рекомендую смотреть в этот список при отладке. Если его там нет, отладить его нельзя. Дох.

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

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

person Community    schedule 26.08.2011

Что касается VS2019 - 16.8.4, я использовал Microsoft Edge для этой работы. Надеюсь, Microsoft исправит это в Firefox.

person Community    schedule 28.01.2021