Почему Visual Studio 2010 не может найти / открыть файлы PDB?

Я пытаюсь использовать OpenCV в VS 2010. Я любитель, и я изучаю первые шаги из вики OpenCV. Однако при попытке отладки моего проекта возникают следующие ошибки:

‘C: \ Windows \ SysWOW64 \ ntdll.dll’, Не удается найти или открыть файл PDB ‘C: \ Windows \ SysWOW64 \ kernel32.dll’, Не удается найти или открыть файл PDB ‘C: \ Windows \ SysWOW64 \ kernellbase. dll ‘, Не удается найти или открыть файл PDB

У меня есть эти файлы в правильном каталоге, так почему бы им не открыть их? Что я должен сделать, чтобы исправить проблему?

Сначала измените следующие параметры:

Инструменты -> Параметры -> Отладка -> Символы -> Сервер -> Да

Затем нажмите Ctrl + F5, и вы увидите удивительные вещи.

Я почти уверен, что это предупреждения , а не ошибки. Ваш проект все равно должен работать нормально.

Однако, поскольку вы всегда должны пытаться исправить предупреждения компилятора, давайте посмотрим, что мы можем обнаружить. Я не совсем знаком с OpenCV, и вы не ссылаетесь на учебник вики, который вы следуете. Но мне кажется, что проблема заключается в том, что вы используете 64-разрядную версию Windows (о чем свидетельствует папка «SysWOW64» на пути к DLL-файлам), но созданный вами материал OpenCV для 32-битной платформы. Таким образом, вам может потребоваться перестроить проект с помощью CMake, как описано здесь .

Более конкретно, перечисленные файлы – это системные файлы Windows. Файлы PDB содержат информацию об отладке, которую использует Visual Studio, чтобы вы могли вставлять и отлаживать скомпилированный код. На самом деле вам не нужны файлы PDB для системных библиотек, позволяющие отлаживать ваш собственный код. Но если вы хотите, вы можете загрузить символы для системных библиотек. Перейдите в меню «Отладка», нажмите «Параметры и настройки» и прокрутите список вниз справа, пока не увидите «Включить поддержку исходного сервера». Убедитесь, что опция отмечена. Затем в дереве слева нажмите «Символы» и убедитесь, что выбрана опция «Microsoft Symbol Servers». Нажмите «ОК», чтобы закрыть диалоговое окно, а затем попробуйте перестроить.

Visual Studio Community Edition 2015

Была эта ошибка весь день. Я, наконец, исправил его, выбрав «Инструменты»> «Импорт и экспорт»> «Сбросить все параметры»> «Сбросить общие настройки».

После его сброса перейдите в Инструменты> Параметры> Отладка> Символы> – Затем установите флажок рядом с Microsoft Symbol Servers.

Запустите приложение в режиме отладки, и он откроет windows, говорящие, что загружает Symbols для кучи разных DLL-файлов. Позвольте этому закончить это.

Как только он завершится, он должен снова работать.

У меня такая же проблема. Оказывается, что, компилируя проект, который я получил от кого-то другого, я не установил правильный проект StartUp (щелкните правой кнопкой мыши по желаемому проекту запуска в проводнике решений и выберите «установить как проект StartUp»). Может быть, это поможет, ура.

Для пользователей VS2013, которые оказались здесь, как я:

Tools -> Options -> Debugging -> Symbols 

Вы увидите, что Cache symbols in this directory: поле пуст; вы можете либо просмотреть / ввести путь самостоятельно, либо просто нажать кнопку « Load all symbols . Появится окно предупреждения, в котором говорится: «Поскольку вы не выбрали каталог с символьным кешем, по умолчанию будет использоваться». Теперь вы увидите C:\Users\XXXX\AppData\Local\Temp\SymbolCache в ранее пустом поле пути. Нажмите « Load all symbols второй раз, и вы должны быть установлены. Хит нормально, и только ради усердия, очистите и перестройте свое решение.

Обращаясь к первому streamу / другой возможности, VS не может открыть или найти файл pdb процесса, когда ваш исполняемый файл работает в фоновом режиме. Я работал с mpiexec и столкнулся с этой проблемой. Всегда проверяйте свой диспетчер задач и убивайте любой процесс exec, который вы собираетесь создать в своем проекте. Как только я это сделал, он отлаживался или строился отлично.

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

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

У меня такие же предупреждения. Я не уверен, что это вопрос 32 против 64 бит. Просто загрузили новые символы, и некоторые проблемы были решены, но те, что касаются OpenCV, все еще сохраняются. Это выдержка из выхода с решением vs нерешенной проблемы:

‘OpenCV_helloworld.exe’: загружен ‘C: \ OpenCV2.2 \ bin \ opencv_imgproc220d.dll’, не удается найти или открыть файл PDB

«OpenCV_helloworld.exe»: загружен «C: \ WINDOWS \ system32 \ imm32.dll», загружены символы (информация об источниках удалена).

Код выходит 0, если кто-то спросит.

Программа ‘[4424] OpenCV_helloworld.exe: Native’ вышла с кодом 0 (0x0).

У меня такая же проблема. Отладка не работает с материалом, который поставляется с исполняемым файлом OpenCV. вы должны создать свои собственные двоичные файлы.
Затем включите Microsoft Symbol Servers в Debug-> options и settings-> debug-> symbols

Я столкнулся с тем же вопросом. Когда я запускал модульный тест на C ++-коде, я получил сообщение об ошибке «Не могу найти или открыть файл PDB».

бревна

Когда я посмотрел на журнал вывода в Visual Studio, я увидел, что он искал неправильную папку. Я переименовал папку WinUnit, но что-то в коде WinUnit искал файл PDB, используя имя старой папки. Я думаю, они жестко закодировали его.

Найденная проблема

Когда я впервые загрузил и распаковал файлы WinUnit, основная папка называлась «WinUnit-1.2.0909.1». После того, как я распаковал файл, я переименовал папку в «WinUnit», поскольку ее легче вводить во время установки проекта Visual Studio. Но, видимо, это сломало возможность найти файл PDB, хотя я все настраивал в соответствии с документацией WinUnit.

Мой фикс

Я изменил имя папки на оригинал, и он работает.

Weird.

Здесь была одна и та же проблема, но было другое решение.

Во-первых, я попробовал следующее: ни один из них не работал:

  1. Загружать символы, как было предложено seanlitow

  2. Удалить / Добавить ссылку на PresentationFramework и PresentationCore

  3. Перезапустить систему

Решение заключалось в том, чтобы отменить последние несколько изменений, внесенных мной в мой код. Я только что добавил несколько переключателей и обработчиков событий для отмеченных и непроверенных событий. После удаления моих последних изменений все скомпилировано. Затем я добавил свои точные изменения и все правильно составлено. Я не понимаю, почему это сработало – единственное, что я могу придумать, это проблема с моим VS Solution. В любом случае, если ни одно из других предложений не работает, вы можете попробовать вернуться к последним изменениям. ПРИМЕЧАНИЕ. Если вы закроете и заново откроете Visual Studio, ваша история отмены будет потеряна. Поэтому вы можете попробовать это, прежде чем закрыть VS.

  • В чем разница между «Включить каталоги» и «Дополнительные каталоги Include»,
  • Не удалось инициализировать систему конфигурации
  • Как использовать LINQ в C ++ / CLI - в VS 2010 / .Net 4.0
  • условные ссылки visual studio 2010
  • две разные библиотеки DLL с одинаковым пространством имен
  • После установки VS 2010 - основной процесс хоста для Win32 Services запускается проблема
  • Как установить флаги компилятора CUDA в Visual Studio 2010?
  • Шаг в свойство / функцию (F11) не работает должным образом
  • Visual Studio 2010 всегда думает, что проект устарел, но ничего не изменилось
  • как связать библиотеку (например, CUBLAS, CUSPARSE) для CUDA на windowsх
  • Visual Studio C # IntelliSense не автоматически отображает
  • Давайте будем гением компьютера.