соответствующий файл символов не найден в этой папке - PullRequest
61 голосов
/ 15 марта 2011

Я хочу использовать символы, но получаю эту ошибку:

соответствующий файл символов не найден в этой папке

Где проблема?

Ответы [ 10 ]

30 голосов
/ 30 июля 2013

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

  1. Щелкните правой кнопкой мыши по рассматриваемому проекту
  2. Свойства
  3. Сборка
  4. Дополнительно (правый нижний угол)
  5. Установить отладочную информацию на полную
  6. Перекомпилировать
6 голосов
/ 07 января 2014

У меня была та же проблема, что и у @DmainEvent. Очевидно, что dll, которую я использовал, не была той же самой версией как pdb, который я только что скомпилировал, поэтому я получил сообщение об ошибке.

Если у вас возникла эта проблема, попробуйте использовать dll и pdb из одного и того же прогона компиляции.

5 голосов
/ 06 октября 2017

Я перепробовал все возможные решения, наконец, это сработало, когда я отключил опцию Enable native code debugging в Debugger engines из Properties > Debug.

4 голосов
/ 14 сентября 2013

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

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

  1. Линкер: Свойства конфигурации -> Линкер-> Отладка -> Создать файл базы данных программы = "xxxx.pdb"
  2. Компилятор: Свойства конфигурации -> C / C ++ -> Выходные файлы -> Имя файла базы данных программы = "yyyy.pdb"

Вы хотите # 1 для отладки.Забудьте о # 2.Дайте файлу № 2 имя, отличное от файла # 1, для решения этой ошибки.

Я не знаю, почему Microsoft определяет # 2 как файл .pdb.Это просто сбивает с толку.

3 голосов
/ 25 апреля 2018

Я получил ошибку «соответствующий файл символов не найден в этой папке» в окне «Отладка => Модули» даже после того, как библиотеки DLL и PDB были доступны и собраны вместе, поэтому я не смог выполнить отладку в целевой библиотеке DLL ссылка на мой главный проект.

Публикация этого сообщения на случай, если это поможет кому-то просматривать сборку "Mixed Platform" для целевой DLL. Я сделал две вещи, чтобы обойти это:

  1. В решении, использующем целевую DLL, снимите флажок «Просто мой код» в разделе «Инструменты => Параметры => Отладка => Общие => Включить только мой код (JMC).

  2. Установите флажок «Включить отладку собственного кода» в целевом решении DLL в соответствующих свойствах проекта => Отладка.

2 голосов
/ 15 марта 2011

Без более подробной информации о том, что вы делаете, трудно выйти за пределы «отладчик ищет файл символов, который соответствует скомпилированному коду, и не может найти его в папке, где живет скомпилированный код».

О чем стоит подумать:

  1. Вы создаете символы как часть вашей компиляции? (проверьте свойства проекта)
  2. Используете ли вы сервер символов (если это так, он указывает на правильное место)
  3. Это скомпилированный код от третьей стороны? В этом случае, поскольку у вас, по-видимому, есть источник, скомпилируйте его самостоятельно.

Подумайте над уточнением своего вопроса, если хотите получить лучший ответ. Особенно то, что вы подразумеваете под «Я хочу использовать символы».

1 голос
/ 15 октября 2018

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

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

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

0 голосов
/ 01 марта 2018

Для проектов BizTalk (и других) это может быть связано с тем, что существует версия сборки, которую вы пытаетесь отладить, уже в GAC. Когда вы запускаете модульный тест или нажимаете F5 для отладки, новая версия компилируется локально. Однако версия в GAC используется, и вновь созданный PDB не соответствует DLL в GAC.

Одним из способов решения этой проблемы является отмена выбора сборки для всего, кроме проекта модульного тестирования, с помощью Configuration Manager, как показано ниже:

Config Manager

0 голосов
/ 18 января 2017

Я обнаружил, что это потому, что в свойствах => Отладка => Действие запуска было установлено «Запустить внешнюю программу вместо проекта». Таким образом, вновь сгенерированный файл pdb не совпадает, потому что реальный exe-файл был неправильным.

0 голосов
/ 05 октября 2016

У меня недавно была эта проблема.Был в состоянии исправить это, выбрав MyProject-> Properties-> Linker-> Debugging-> Generate Debug Info -> "Optimize for debugging" (/DEBUG)".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...