Visual Studio No Symbols загружены для этого документа
У меня возникли проблемы с отладкой проекта Visual Studio 2008 С++. Когда я запускаю его при отладке, точки останова отключены сообщением
Точка останова не будет удалена. Символы не загружены для этого документ.
Я пробовал очистить и перестроить, но это не имеет значения.
Я также пробовал искать в Debug- > Windows- > Modules. Если я щелкнул правой кнопкой мыши по модулю, я пытаюсь отлаживать и нажимать информацию о загрузке Symbol, он отображает список мест, в которых он пытался загрузить символы. Первый в списке правильный и файл существует, но рядом с ним есть эта ошибка
C:\path\to\my\symbol\Debug\MyProject.pdb: Неизвестный обработчик символов для ошибка
Кто-нибудь знает, что вызывает это и как его исправить?
Ответы
Ответ 1
Прежде всего, возможно, что некоторые из ваших модулей не будут отображаться в окне модуля, потому что некоторые из них могут быть загружены динамически (только по мере необходимости).
Возможно, вы захотите проверить свойства проекта в разделе "Линкера" > "Отладка" > "Создать файл базы данных программы" и "Создать информацию отладки". Убедитесь, что эти два установлены правильно.
Кроме того, проверьте, установлен ли в C/С++ > General > Debug Information Format значение Program Database for Edit And Continue (/ZI) или что-то подобное.
Я знаю, что вы упомянули, что ваш файл символов существует, но проверка была только что упомянута, убедитесь, что у вас есть правильная версия вашего символа в нужном месте.
Наконец, проверьте, настроены ли все ваши проекты и файлы в вашем решении как Debug, а не Release или что-то еще, поскольку никакие символы не будут сгенерированы (следовательно, никто не будет загружен) для этого проекта/файла.
Надеюсь, это немного поможет.
Ответ 2
В моем случае проблема была решена путем проверки "Использовать режим управляемой совместимости" в "Инструменты/Параметры/Отладка/Общие".
Ответ 3
Может возникнуть проблема с процессом mspdbsrv.exe. Попробуйте убить его и снова запустить отладчик.
Ответ 4
Мне удалось решить эту проблему, скопировав исходный код в сторону и проверив полностью чистую копию. Я предполагаю, что это была некоторая настройка, хранящаяся в файле проекта .suo.
Ответ 5
Для меня исправление было в перезапуске Visual Studio:). Просто так. Больше ничего не помогло - попытался очистить (даже удалил все файлы в папке Debug), проверить настройки, даже убил процесс mspdbsrv.exe, но только перезагрузка VS сделала трюк.
Ответ 6
Удалите все файлы в папках bin и obj. Затем снова создайте решение. Если ваша проблема была похожа на мою, казалось, что VS загружает более старую версию определенного неизвестного файла, который не заменит решение/проект. Обязательно сделайте копию своего решения/проекта, прежде чем пытаться это сделать. Удачи!
Ответ 7
Если у кого-то есть эта проблема при использовании "Attach to process", ответ на этот вопрос решил это для меня:
Visual Studio не загружает модули при подключении к процессу
В частности, переключение на "Нативный код" в параметрах "Прикрепить к" вместо "Авто".
Ответ 8
В окне Modules
вы можете щелкнуть правой кнопкой мыши и добавить папку вывода Debug
в папки, в которых ваша система ищет файлы символов. Кроме того, то, что сработало для меня, было удаление всех выходных файлов вручную, Clean
не будет делать это каждый раз и что, несмотря на то, что файл .pdb
сгенерирован, он не соответствуют вашим выходным файлам, таким образом, не загружая символы из него.
Ответ 9
Сделайте копию своей папки "Отладка" в папке проекта, а затем удалите все файлы в исходной папке "Отладка". В качестве дополнительной меры, если бы ваша визуальная студия уже работала с загруженным проектом, закройте ее после удаления Debug и откройте ее перед повторной сборкой всего проекта, теоретически это действие создаст новую копию файлов символов, а остальная часть - для отладки ваших код.
Я узнал, что эта проблема возникла у меня, когда я переместил свои файлы на другой компьютер и попытался скомпилировать и отладить мой код оттуда, хотя все имена папок и дисков были одинаковыми, некоторые из того, как IDE не удалось использовать ранее созданные файлы символов,
Надеюсь, что эта работа вокруг работает для кого-то еще!
Ответ 10
Перейдите в "Свойства" для веб-сайта, который будет использовать эту DLL для отладки, а затем выберите "Исходный код" в разделе "Отладчики" ниже:
![введите описание изображения здесь]()
Ответ 11
В моем случае "использовать входные данные библиотеки" в "linker- > general" следует установить в yes, тогда проблема будет решена.
Ответ 12
VS2015 С++
Я столкнулся с той же проблемой после отмены загрузки символов при попытке отладки моего приложения в VS2015. После этого VS2015 отказался загружать символы для интересующего меня проекта (несколько подпроектов в решении с С#, вызывающим С++ DLL). Вышеупомянутые решения для меня не сработали, но это произошло.
Для Visual Studio 2015 (С++):
- Щелкните правой кнопкой мыши на своем проекте, в котором находится точка разрыва, и выберите
свойства Развернуть C/С++
- Выберите "Общие" в разделе "C/С++"
- Измените формат отладочной информации на любой другой параметр
- Нажмите "Применить"
- Измените формат отладочной информации обратно по умолчанию.
База данных для редактирования и продолжения (/ZI) (или что вы предпочитаете)
- Нажмите "Применить"
- Теперь перестройте свой проект
Надеюсь, это поможет.
Алан М
Ответ 13
Ничто из перечисленного не помогло мне...
В конце я изменился с Debug\X64 на Debug\win32, это помогло, возможно, это некоторая конфигурация, которая не то же самое в обоих. Может быть, это поможет
обходной путь для кого-то...
Надеюсь, что кто-нибудь сможет помочь.
Ответ 14
1) Щелкните правой кнопкой мыши проект, который вы хотите отлаживать.
2) Выберите [Свойства]
3) Выберите вкладку [Сборка]
4) Убедитесь, что отмечены [Определить константу DEBUG] и [Определить константу TRACE]
5) Нажмите кнопку [Дополнительно] в нижней части вкладки Build Убедитесь, что для параметра [Debug Info:] установлено значение [полный]
6) Нажмите [OK]
7) Восстановить проект