Настольное приложение C # в экспресс-версии работало, а затем не работало 5 секунд спустя.
Я попробовал следующее:
- Убедитесь, что конфигурация отладки, флаг отладки и полная информация отладки установлены на всех сборках.
- Удалите все папки bin и obj и все библиотеки DLL, связанные с проектом, со всей моей машины.
- Воссоздать проекты, вызывающие проблему с нуля.
- Перезагрузка.
У меня есть два проекта WinForms в решении. Один из них загружает отладочную информацию, другой - нет. Они оба ссылаются на сборку, в которой я пытаюсь получить отладочную информацию точно таким же образом в файле проекта. Любые идеи?
Я хочу добавить здесь, в основном для себя, когда я возвращаюсь к рассмотрению этого вопроса, что символы не загружаются до тех пор, пока не будет загружена сборка, и сборка не будет загружена, пока она не понадобится. Если точка останова находится в библиотеке, которая используется только в одной функции в вашей основной сборке, символы не будут загружены (и она покажет точку останова как не достигнутую), пока эта функция не будет вызвана.
источник
<DebugSymbols>true</DebugSymbols>
в VS2015, я добавил ее вручную, и она работала нормально.Ответы:
Начните отладку, как только вы достигли точки останова или использовали ее
Debug > Break All
, используйтеDebug > Windows > Modules
. Вы увидите список всех сборок, которые загружены в процесс. Найдите тот, для которого вы хотите получить отладочную информацию. Щелкните правой кнопкой мыши и выберите «Символ загрузки информации». Вы получите диалог, в котором перечислены все каталоги, в которых он искал файл .pdb для сборки. Проверьте этот список по фактическому местоположению .pdb. Убедитесь, что он не находит старый.В обычных проектах сборка и ее файл .pdb должны всегда копироваться IDE в ту же папку, что и ваш .exe. Папка bin \ Debug вашего проекта. Убедитесь, что вы удалили один из GAC, если вы играли с ним.
источник
Сначала попробуйте перестроить свой проект, щелкнув правой кнопкой мыши проект> Перестроить. Если это не сработает, попробуйте очистить проект (щелкните правой кнопкой мыши проект> очистить)
Если это не сработало, проверьте это:
(шаг 6 генерирует файлы .pdb, это символы отладки)
источник
Properties > Build > Optimize code
было проверено .Просто что-то простое попробовать - возможно, вы уже пробовали это. Щелкните правой кнопкой мыши Solution в обозревателе решений, выберите «clean solution», это удалит все скомпилированные и временные файлы, связанные с решением .
Перестройте решение и попробуйте снова выполнить отладку.
У меня также были проблемы с точками останова нескольких проектов в решении - некоторые скомпилированы как x86, некоторые как x64.
источник
Отключите опцию «Просто мой код» в настройках «Отладка / Общие».
источник
Перекрестное размещение этого исправления от Hans K, которое я нашел в аналогичной теме >> ЗДЕСЬ << :
источник
Выбранный ответ привел меня к решению моей проблемы. Но мне нужно сделать еще несколько вещей:
Даже с выбранным «Отладка» в раскрывающемся списке:
А в проекте Properties> Build:
Visual Studio не загружал символы в конкретный проект. Таким образом, в этом раскрывающемся списке я выбрал «Диспетчер конфигурации» и увидел, что параметры моего веб-проекта были неверными:
Затем я установил это в «Отладка», и он начал генерировать
.pdb
файл. НО мне нужно вручную скопировать PDB и DLL и положить в папку, которую искал VS (вот где мне помог выбранный ответ):источник
release
режиме. Спасибо !!Debug
>Windows
>Modules
, Чтобы увидеть , какие модули были загружены поставить меня в правильном направлении.В моем случае IIS Express загружал другую DLL из временных файлов ASP.NET.
Решение?
C:\Users\<YOUR USER>\AppData\Local\Temp\Temporary ASP.NET Files\vs
источник
Я смог исправить ошибку, просто установив опцию в «Присоединить к процессу» на «Автоматически определять тип кода для отладки», как показано на прикрепленном скриншоте.
Просто следуйте инструкциям ниже:
источник
Иногда, даже несмотря на то, что он выдает эту ошибку, он
breakpoint
все равно получает удар, поэтому просто игнорируйте ошибку. Это происходит довольно часто вViews
АнMVC web app
.источник
Проверьте, отсутствует ли ваш файл .pbd в папке bin / Debug. Если это так, перейдите в «Свойства» вашего проекта, выберите «Построить», а затем «Дополнительно» в нижней части. В появившемся окне выберите «полный» в разделе «Отладочная информация». Это была моя проблема, и я решил ее.
источник
В моем случае «Оптимизировать код» было проверено в свойствах моего проекта. Это заставило VS видеть мою сборку как «не мой код», и, в свою очередь, не загружало символы для нее.
Решение было снять это.
источник
Просто проверьте, находится ли ваше решение в режиме выпуска.
источник
Попробуйте запустить Visual Studio в качестве администратора в Windows.
источник
В моем случае я пытаюсь отладить в режиме реверсирования. Как только я переключаю его в режим отладки. Работает
источник
Вам нужно включить «Генерировать отладочную информацию» в настройках компилятора
источник
->
Параметры отладки->
Общие->
Снимите флажок для "Enable Just My Code
"Это сработало для меня.
источник
Мы нашли причину нашей проблемы. Этот код использовал атрибут «CodeBehind» в директиве Page файла .aspx вместо атрибута «CodeFile» (ASP.NET 2.0 и выше). После нескольких дней отчаяния простой поиск и замена решили проблему.
источник
Параметр «Начать отладку, отладка + модули Windows +» не существует в выпуске Microsoft Visual Studio Express 2013.
Снятие отметки «Использовать управляемый режим совместимости» в меню « Параметры» Отладка исправляет это.
источник
Проверьте свой
Solution Configuration
выпадающий список. Убедитесь, что вы выбралиDebug
, а неRelease
.источник
Я перепробовал все вышеупомянутое, но ничего не получалось. [Очистить решение, проверить файлы PDB и т. Д.]
Даже публикация того же решения не решила проблему.
Затем я вернулся к тому, что я обычно делаю, чтобы решить (обмануть эту упрямую Visual Studio)
Все, что я сделал, это сделал преднамеренное изменение в коде и опубликовал решение. Затем я отменил изменения и опубликовал снова.
Вуаля [PDB-файлы, избавленные от злых духов] .. Не умное решение, но это сработало ..: - |
источник
Только веб-приложения (IIS Express):
источник
Ни один из этих ответов не решил мою проблему. Я попробовал еще одну вещь, основанную на том факте, что проект с остановкой на самом деле не был загруженным проектом. Я обнаружил, как Ганс Пассант написал, что .dll, где я хочу остановить отладчик, и связанные с ним файлы .pdb, скопированные рядом с файлом .exe. У этих файлов была более старая дата, поэтому я подумал, что они не обновлялись во время выполнения. Я вручную удалил их, Visual Studio создала другую пару и поместила эту новую пару рядом с .exe. Теперь точки останова работают!
Возможно, Visual Studio не может скопировать и ЗАМЕНИТЬ существующие файлы (.dll и .pdb) рядом с .exe, поскольку там есть другие. Так что, если я удалил вручную, то VS может создать новый рядом с .exe.
Я думаю, что другие изменения (проверки и так далее - из других ответов) вызвали что-то, и Visual Studio скопировала и заменила dll и pdb из папки проекта в папку рядом с exe, так что это было решением.
Я думаю, что основной причиной проблемы является то, что Visual Studio использует другой файл во время выполнения, а не файл из проекта, с остановкой.
Может быть, этот ответ поможет кому-то!
источник
Вещи, которые нужно проверить, чтобы быть понятным: убедитесь, что у вас установлена конфигурация «Отладка», а не «Выпуск». Вы можете отлаживать стартовый проект в режиме «Release», но не можете ссылаться на библиотеку классов.
источник
Свойства проекта (затем выберите конфигурацию сборки)> вкладка «Сборка»> «Дополнительно»> «Отладочная информация» (раскрывающийся список)
Установите «all» или «pdb-only», затем перестройте
источник
Вместо того, чтобы делать все эти вещи просто
Закрыть и снова открыть
решение это решит проблему
источник
У меня была похожая проблема, и я сделал следующее: Debug => Options => General => Снимите флажок «Enable Just My Code». Это сработало для меня ..
источник
Это заняло у меня некоторое время, пробовал другие варианты выше и по какой-то странной причине отладка перестала работать.
источник
источник
Проверьте, являются ли следующие два параметра одинаковыми в Visual Studio:
Щелкните правой кнопкой мыши тестовый проект, перейдите на вкладку «Свойства», «Построить» и посмотрите на цель платформы.
У меня все установлено на "Любой процессор", поэтому x64
В строке главного меню выберите «Тест», «Настройки теста», « Архитектура процессора по умолчанию».
Мой был установлен на X86
Изменение этого значения на X64 в соответствии с вышеуказанными настройками заставило работать встроенное меню «Debug Test (s)» в Visual Studio и ударило по точкам останова, которые ранее игнорировались с сообщением «В данный момент точка останова не будет достигнута. Для этого документа не было загружено никаких символов ».
Обновить:
Для Visual Studio 2019 меню были немного перемещены:
источник
Я знаю, что опоздал на несколько лет, но я подумал, что сделал что-то не так, и, следуя вышеизложенным шагам, понял, что по ошибке установил конфигурацию решения «Выпуск» :)
источник