Visual Studio Никакие символы не были загружены для этого документа - PullRequest
33 голосов
/ 01 декабря 2011

У меня возникли проблемы с отладкой проекта Visual Studio 2008 C ++.Когда я запускаю его в режиме отладки, точки останова отключаются с сообщением

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

Я пытался очистить и восстановить, но это не имеет значения.

Я также попытался посмотреть в Debug-> Windows-> Modules.Если я щелкаю правой кнопкой мыши по модулю, который пытаюсь отладить, и нажимаю информацию о загрузке символов, появляется список мест, из которых он пытался загрузить символы.Первый в списке является правильным, и файл существует, но рядом с ним есть эта ошибка

C: \ путь \ к \ my \ symbol \ Debug \ MyProject.pdb: неизвестный обработчик символа для ошибки

Кто-нибудь знает, что вызывает это или как это исправить?

Ответы [ 15 ]

29 голосов
/ 01 декабря 2011

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

Возможно, вы захотите проверить свойства вашего проекта в Linker> Debugging> Generate Program Database File и Generate Debug Info. Убедитесь, что эти два настроены правильно.

Кроме того, проверьте, установлен ли C / C ++> Общие> Формат отладочной информации на Программную базу данных для редактирования и продолжения (/ ZI) или что-то подобное.

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

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

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

4 голосов
/ 08 февраля 2017

Если у кого-то возникла эта проблема при использовании «Присоединить к процессу», ответ на этот вопрос решил ее для меня:

Visual Studio не загружает модули при подключении к процессу

В частности, переключение на «Собственный код» в опциях «Присоединить к» вместо «Авто».

4 голосов
/ 03 октября 2014

В моем случае проблема была решена путем проверки «Использовать режим управляемой совместимости» в меню «Инструменты / Параметры / Отладка / Общие».

3 голосов
/ 23 декабря 2013

Для меня исправление было в перезапуске Visual Studio :) Так просто. Больше ничего не помогло - попытался очистить (даже удалил все файлы в папке Debug), проверил настройки, даже убил процесс mspdbsrv.exe, но только перезапуск VS сделал свое дело.

3 голосов
/ 14 февраля 2013

Может быть проблема с процессом mspdbsrv.exe.Попробуйте убить его и снова запустите отладчик.

3 голосов
/ 01 декабря 2011

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

2 голосов
/ 06 апреля 2017

Перейдите в «Свойства» для веб-сайта, который будет использовать эту DLL для отладки, а затем выберите «Собственный код» в разделе «Отладчики» ниже:

enter image description here

2 голосов
/ 04 апреля 2016

Удалить все файлы в папках bin и obj. Затем создайте решение снова. Если ваша проблема была похожа на мою, казалось, что VS загружает более старую версию определенного неизвестного файла, который не заменит пересоздание решения / проекта. Обязательно сделайте копию своего решения / проекта, прежде чем пытаться это сделать. Удачи!

1 голос
/ 25 ноября 2016

VS2015 C ++

Я столкнулся с той же проблемой после отмены загрузки символов при попытке отладки моего приложения в VS2015. После этого VS2015 отказался загружать символы для проекта, который меня интересовал (несколько подпроектов в решении с C #, вызывающим C ++ DLL). Решения выше не сработали для меня, но это сработало.

Для Visual Studio 2015 (C ++):

  1. Щелкните правой кнопкой мыши по своему проекту, в котором находится ваша точка останова, и выберите
    свойства Развернуть C / C ++
  2. Выберите Общие в C / C ++
  3. Изменить формат информации отладки на любой другой параметр
  4. Нажмите Применить
  5. Изменить формат информации отладки обратно на программу по умолчанию База данных для редактирования и продолжения (/ ZI) (или что вы предпочитаете)
  6. Нажмите Применить
  7. Теперь перестройте свой проект

Надеюсь, это поможет. Алан М

1 голос
/ 18 сентября 2016

Сделайте копию вашей папки «Debug» в папке вашего проекта, затем удалите каждый файл в исходной папке «Debug».В качестве дополнительной меры, если ваша визуальная студия уже запущена с загруженным проектом, закройте его после удаления содержимого Debug и откройте его перед повторной сборкой всего проекта, теоретически это действие создаст новую копию файлов символов, а остальное необходимо для отладки вашего проекта.код.Я обнаружил, что эта проблема возникла у меня, когда я переместил свои файлы на другой компьютер и попытался оттуда скомпилировать и отладить мой код, хотя все имена папок и дисков были одинаковыми, в некоторых случаях IDE не могла использовать ранее созданные файлы символов,Надеюсь, что эта работа работает для кого-то еще!

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