Я хочу использовать символы отладки, но получаю следующую ошибку:
соответствующий файл символов не найден в этой папке
Что это за проблема и как ее решить?
Я хочу использовать символы отладки, но получаю следующую ошибку:
соответствующий файл символов не найден в этой папке
Что это за проблема и как ее решить?
Одна из вещей, с которыми я столкнулся, заключалась в том, что отладка была отключена в проекте, на который ссылается, где находится код. В моем случае я создал новую конфигурацию под названием "Разработчик", и по умолчанию отладка была отключена.
У меня была та же проблема, что и @DmainEvent. По-видимому, DLL, которую я использовал, не была той же версией, что и pdb, которую я только что скомпилировал, поэтому я получил сообщение об ошибке.
Если у вас есть эта проблема, попробуйте использовать dll и pdb из одного и того же запуска компиляции.
Я столкнулся с этой проблемой, и ответ был прост.
В Visual Studio есть две настройки уровня проекта, которые могут создавать файлы .pdb.
Вы хотите # 1 для отладки. Забудьте о # 2. Дайте файлу №2 другое имя, чем файл # 1, чтобы решить эту ошибку.
Я не знаю, почему microsoft указывает # 2 как .pdb файл. Это просто запутывает.
Я пробовал все возможные решения, и, наконец, он работал, когда я отключил опцию Enable native code debugging
в Debugger engines
Properties > Debug
.
Я получил ошибку "соответствующий файл символов не найден в этой папке" в окне "Отладка => Модули" даже после того, как библиотеки DLL и PDB были доступны и собраны вместе, поэтому я не смог выполнить отладку в целевой библиотеке DLL, на которую ссылается мой основной проект.
Размещайте это здесь на тот случай, если это поможет кому-то просматривать сборку "Mixed Platform" для целевой DLL. Я сделал две вещи, чтобы обойти это:
В решении, использующем целевую DLL, снимите флажок "Просто мой код" в разделе "Инструменты => Параметры => Отладка => Общие => Включить только мой код" (JMC).
Установите флажок "Включить отладку собственного кода" в целевом решении DLL в соответствующих свойствах проекта => Отладка.
Без дополнительной информации о том, что вы делаете, трудно выйти за рамки "отладчик ищет файл символов, который соответствует скомпилированному коду и не может найти его в папке, в которой скомпилирован код".
Некоторые вещи, о которых нужно подумать:
Поясните свой вопрос, если вы хотите получить лучший ответ. Особенно, что вы подразумеваете под "Я хочу использовать символы".
Ну, решение зависит от вашей конкретной проблемы. Я перепробовал все, что можно было найти на Stackoverflow и других сайтах. Одна из тем, на которые я подписался, - this. Это тоже не помогло. Проблема была сразу решена, когда я заметил, что в моем исполняемом проекте не было ссылки на библиотеку, которую я хотел отладить. Поэтому я просто добавил ссылку на этот проект.
** PS: ** Эта проблема может также возникать из-за того, что сборка, на которую ссылается исполняемая сборка, может не совпадать с таковой в ссылках. Таким образом, в этом случае вы просто удаляете уже существующую ссылку и добавляете новую.
Надеюсь это поможет!
Я обнаружил, что это произошло из-за того, что для свойства "Свойства" = > "Отладка" = > "Начало" было выбрано "Запуск внешней программы" вместо "Проект". Таким образом, вновь созданный файл pdb не совпал, потому что фактический exe был неправильным.
Для проектов BizTalk (и других) это может быть связано с тем, что версия сборки, которую вы пытаетесь отлаживать, уже существует в GAC. Когда вы запускаете unit тест или нажимаете F5 для отладки, новая версия компилируется локально. Однако версия в GAC используется, и вновь созданная PDB не соответствует DLL в GAC.
Одним из способов решения этой проблемы является отмена выбора сборки для всего, кроме проекта модульного тестирования, с помощью Configuration Manager, как показано ниже:
То же самое происходит со мной, потому что файл .pdb проекта не был скопирован в папку debug\Bin
, поэтому символы не могут быть загружены из файла .pdb.
Вы должны перестроить свой проект и вручную скопировать символы (файл .pdb) в папку debug\Bin
исполняемого проекта.
У меня была и эта проблема в последнее время. Удалось исправить это, выбрав MyProject- > Properties- > Linker- > Debugging- > Generate Debug Info → "Оптимизировать для отладки (/DEBUG)".