Я пытаюсь использовать OpenCV в VS 2010. Я любитель и изучаю первые шаги из вики OpenCV. Однако при попытке отладки своего проекта я получаю следующие ошибки:
'C: \ Windows \ SysWOW64 \ ntdll.dll', не удается найти или открыть файл PDB 'C: \ Windows \ SysWOW64 \ kernel32.dll', не удается найти или открыть файл PDB 'C: \ Windows \ SysWOW64 \ kernellbase. dll ', не удается найти или открыть файл PDB
У меня эти файлы находятся в правильном каталоге, так почему он не может их открыть? Что мне делать, чтобы исправить проблему?
visual-studio
visual-studio-2010
visual-c++
opencv
ХамидРезаХамидиЭсфахани
источник
источник
Ответы:
Сначала измените следующие параметры:
Инструменты -> Параметры -> Отладка -> Символы -> Сервер -> Да
Затем нажмите Ctrl+, F5и вы увидите удивительные вещи.
источник
Я почти уверен, что это предупреждения , а не ошибки. Ваш проект по-прежнему должен работать нормально.
Однако, поскольку вы всегда должны пытаться исправить предупреждения компилятора, давайте посмотрим, что мы сможем обнаружить. Я совсем не знаком с OpenCV, и вы не ссылаетесь на вики-руководство, которое следуете. Но мне кажется, что проблема в том, что вы используете 64-битную версию Windows (о чем свидетельствует папка "SysWOW64" в пути к файлам DLL), но материал OpenCV, который вы пытаетесь использовать, создан для 32-битной платформы. Поэтому вам может потребоваться перестроить проект с помощью CMake, как описано здесь .
В частности, перечисленные файлы являются системными файлами Windows. Файлы PDB содержат отладочную информацию, которую Visual Studio использует, чтобы вы могли выполнять отладку скомпилированного кода. На самом деле вам не нужны файлы PDB для системных библиотек, чтобы иметь возможность отлаживать собственный код. Но при желании вы также можете скачать символы для системных библиотек. Перейдите в меню «Отладка», нажмите «Параметры и настройки» и прокрутите список справа, пока не увидите «Включить поддержку исходного сервера». Убедитесь, что эта опция отмечена. Затем в древовидной структуре слева щелкните «Символы» и убедитесь, что выбран параметр «Серверы символов Microsoft». Щелкните OK, чтобы закрыть диалоговое окно, а затем попробуйте перестроить.
источник
Visual Studio Community Edition 2015
У меня была эта ошибка весь день. Я наконец исправил это, перейдя в Инструменты> Настройки импорта и экспорта> Сбросить все параметры> Сбросить общие настройки.
После сброса перейдите в Инструменты> Параметры> Отладка> Символы> - Затем установите флажок рядом с Microsoft Symbol Servers.
Запустите приложение в режиме отладки, и откроется окно с сообщением, что оно загружает символы для множества различных файлов .dll. Дайте ему закончить это делать.
Как только он завершится, он должен снова заработать.
источник
У меня такая же проблема. Оказывается, при компиляции проекта, полученного мной от кого-то другого, я не установил правильный проект StartUp (щелкните правой кнопкой мыши нужный запускаемый проект в обозревателе решений и выберите «Установить как проект StartUp»). Может быть, это поможет, ура.
источник
Ссылаясь на первый поток / другую возможность, VS не может открыть или найти файл pdb процесса, - это когда ваш исполняемый файл работает в фоновом режиме. Я работал с mpiexec и столкнулся с этой проблемой. Всегда проверяйте диспетчер задач и завершайте любой процесс exec, который вы собираетесь встроить в свой проект. Как только я это сделал, он отладился или собрал нормально.
Кроме того, если вы попытаетесь продолжить с предупреждением, точки останова не будут достигнуты, и у него не будет текущего исполняемого файла.
источник
Для пользователей VS2013 , оказавшихся здесь, как и я:
Вы увидите, что
Cache symbols in this directory:
поле пусто; вы можете либо просмотреть / ввести путь самостоятельно, либо просто нажатьLoad all symbols
кнопку. Появится окно с предупреждением: «Поскольку вы не выбрали каталог кэша символов, будет использоваться значение по умолчанию». Теперь вы увидитеC:\Users\XXXX\AppData\Local\Temp\SymbolCache
в ранее пустом поле пути. ЩелкнитеLoad all symbols
второй раз, и вы должны быть настроены. Нажмите ОК, и просто ради усердия очистите и восстановите свое решение.источник
Я обнаружил, что эти ошибки иногда возникают из-за отсутствия разрешений при компиляции проекта, поэтому я запускаю как администратор, чтобы заставить его работать правильно.
источник
У меня такие же предупреждения. Я не уверен, что это вопрос 32 против 64 бит. Просто загрузили новые символы, и некоторые проблемы были решены, но те, которые касаются OpenCV, остались. Это выдержка из вывода с решенной и нерешенной проблемой:
Код выходит из 0 на случай, если кто-то спросит.
источник
У меня такая же проблема. Отладка не работает с материалами, которые поставляются с исполняемым файлом OpenCV. вам нужно создать свои собственные двоичные файлы.
Затем включите серверы символов Microsoft в разделе Отладка-> параметры и настройки-> отладка-> символы.
источник
Я столкнулся с той же проблемой. Когда я запускал свой модульный тест на коде C ++, я получил сообщение об ошибке «Не удается найти или открыть файл PDB».
Журналы
Когда я посмотрел журнал вывода в Visual Studio, я увидел, что он ищет не ту папку. Я переименовал папку WinUnit, но что-то в коде WinUnit искало файл PDB, используя старое имя папки. Я думаю, они жестко это запрограммировали.
Нашел проблему
Когда я впервые загрузил и разархивировал файлы WinUnit, основная папка называлась «WinUnit-1.2.0909.1». После того, как я разархивировал файл, я переименовал папку в «WinUnit», так как ее легче вводить во время установки проекта Visual Studio. Но, видимо, это нарушило возможность найти файл PDB, хотя я настроил все в соответствии с документацией WinUnit.
Мое исправление
Я изменил имя папки на исходное, и оно работает.
Странно.
источник
Была та же проблема, но работало другое решение.
Сначала я попробовал следующее, но ни одно из них не помогло:
Загрузите символы, как предложено seanlitow
Удалить / добавить ссылку на PresentationFramework и PresentationCore
Решением было отменить последние несколько изменений, которые я внес в свой код. Я только что добавил пару переключателей и обработчиков событий для отмеченных и непроверенных событий. После удаления моих последних изменений все скомпилировано. Затем я добавил свои точные изменения, и все было правильно скомпилировано. Я не понимаю, почему это сработало - единственное, о чем я могу думать, это проблема с моим решением VS. В любом случае, если ни одно из других предложений не сработает, вы можете попробовать отменить свои самые последние изменения. ПРИМЕЧАНИЕ: если вы закроете и снова откроете Visual Studio, ваша история отмены будет потеряна ... так что вы можете попробовать это до закрытия VS.
источник