Не удается получить PDB для загрузки. Msg str "Соответствующий файл символов не найден в этой папке. "
У меня есть проект, отладка которого работала примерно час назад, и теперь после последней перестройки я не могу заставить его загружать файлы символов, поэтому я не могу достичь своих точек останова.
Я попробовал все, что было предложено здесь для исправления "Точка останова в настоящее время не будет достигнута. Для этого документа не было загружено никаких символов. " И я не могу загрузить его в мою PDB. Есть множество вопросов о файлах.PDB, которые не загружаются здесь, на SO, и я провел последний час, просматривая как можно больше из них и пробуя все, что предлагалось, но безрезультатно.
я пробовал Build>Rebuild Solution
, Build>Clean
+ Build>Build Solution
, Build>Clean
+ Build>Rebuild Solution
, вручную удалив все файлы из выходной папки BIN + Build Solution
и / или Rebuild Solution
, То же самое происходит в каждом случае; компилятор создает совершенно новый файл.DLL и.PDB, но.PDB отказывается загружаться во время выполнения.
Я даже пытался Debug>Windows>Modules>[Right-Click on offending symbol library]>Load Symbols
и я вручную перешел к правильному файлу.PDB, но когда я нажал Open
он просто говорит мне "Соответствующий файл символов не найден в этой папке".
С помощью Debug>Windows>Modules>[Right click...]>Load Symbol Information
дает мне:
C: \ Windows \ ssoederPDMupgrade.pdb: не удается найти или открыть файл PDB. C:\VS_TestFolder\EPDMAddIns\ssoederPDMupgrade\bin\Debug\ssoederPDMupgrade.pdb: PDB не соответствует изображению. C:\VS_TestFolder\EPDMAddIns\ssoederPDMupgrade\obj\Debug\ssoederPDMupgrade.pdb: PDB не соответствует изображению. C:\Windows\ssoederPDMupgrade.pdb: не удается найти или открыть файл PDB. C: \ Windows \ символы \ dll \ ssoederPDMupgrade.pdb: не удается найти или открыть файл PDB. C:\Windows\dll\ssoederPDMupgrade.pdb: Не удается найти или открыть файл PDB. C:\Users\ssoeder\AppData\Local\Temp\SymbolCache\ssoederPDMupgrade.pdb\afe14027e9c6490883d12f2f139cb5911\ssoederPDMupgrade.pdb: Не удается найти или открыть файл PDB. C:\Users\ssoeder\AppData\Local\Temp\SymbolCache\MicrosoftPublicSymbols\ssoederPDMupgrade.pdb\afe14027e9c6490883d12f2f139cb5911\ssoederPDMupgrade.pdb: Не удается найти или открыть файл PDB. C:\VS_TestFolder\EPDMAddIns\ssoederPDMupgrade\obj\Debug\ssoederPDMupgrade.pdb: PDB не соответствует изображению. SYMSRV: C:\Users\ssoeder\AppData\Local\Temp\SymbolCache\ssoederPDMupgrade.pdb\AFE14027E9C6490883D12F2F139CB5911\ssoederPDMupgrade.pdb не найден
SYMSRV: http://msdl.microsoft.com/download/symbols/ssoederPDMupgrade.pdb/AFE14027E9C6490883D12F2F139CB5911/ssoederPDMupgrade.pdb не найден
http://msdl.microsoft.com/download/symbols: символы не найдены на сервере символов.
4 ответа
Немного ответа, но...
Я думаю, что что-то испортилось в VS Express 2013. Я понятия не имею, как и почему - и я могу быть совершенно не прав, но простой вопрос заключается в том, что заставило мои контрольные точки работать, устанавливая VS Community 2015.
После установки VS Community 2015 (VSC 2015) файл символов загружается без проблем, и все точки останова сбиваются. Это также заставило все работать в моей существующей установке VS Express 2013 (VSC 2013), так что я могу работать в любой из них сейчас без проблем.
Хронология событий:
Я работаю в VSE 2013 над этим же проектом уже месяц или два. Написание библиотеки классов, отладка с использованием
Debug>Attach to process
,Вчера я сделал некоторые изменения в коде в одном модуле класса (никаких других изменений) и использовал
Build>Rebuild Solution
очистить и заново сгенерировать выходные файлы текущей конфигурации (DEBUG).Горизонт событий: я пошел на отладку, используя
Attach to process
как обычно, и моя точка останова выглядела пустой с сообщением, что оно не будет достигнуто, потому что символы не были загружены.Я потратил довольно много времени, пытаясь решить эту проблему, прежде чем публиковать здесь (см. Мой оригинальный вопрос для получения подробной информации о том, что пытались).
Получено предложение от @HansPassant относительно использования
Symchk
из командной строки. Пытался следовать инструкциям, связанным с, и не смог заставить его работать - командная строка не распозналаSymchk
или жеSymchk.exe
как действительные команды / процессы / и т.д.Я скачал обновление WDK 8.1 и установил.
Открыл VSE 2013, получил сообщение об ошибке при сбое загрузки драйвера, приложение зависло перед загрузкой. На самом деле, после нескольких попыток я обнаружил, что он иногда попадал на экран приветствия, но даже тогда оставался без ответа.
Зашел на сайт M$ VS, чтобы загрузить последнюю копию установочных файлов VSE 2013, чтобы выполнить ремонтную установку, и я заметил, что появилась более новая версия: VSC 2015.
Скачал и установил VSC 2015.
Открыл проект, начал отладку с помощью
Debug>Attach to process
и это сработало - все символы загружены и мои контрольные точки сработали. ПРИМЕЧАНИЕ: я ничего не изменил с проектом * - просто открыл и запустил.
* если некоторые изменения не будут сделаны IDE без моего ведома, просто открыв проект.Похоже, это исправило любой драйвер, который был поврежден при установке VS2013, так как я вернулся на VSE 2013, и он открылся без ошибок, и я смог открыть тот же проект и сделать
Attach to process
и все символы загружены и точки останова снова работают.
У меня была такая же проблема с VS2013 Ultimate. Я несколько раз делал чистку и сборку сборки и удалял все временные файлы из C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files
,
Я также проверил, что в "Отладка -> Параметры и настройки -> Символы" не было исключено ни одного модуля... В конце концов, я нашел ссылку, которая отличается от той, которая развернута в GAC.
Вы пробовали эти шаги?
1 - удалить файл.SUO
2- ЧИСТЫЙ СТРОИТЕЛЬ.
3 - сделать проект строительства
Я рад, что ты получил его на работу CBRF23! У меня была эта проблема при попытке скомпилировать файл эффекта DirectX в DevC++. Самый простой способ загрузки pdbs, который я нашел, - это сначала загрузить WinDBG здесь: http://go.microsoft.com/fwlink/p/?LinkId=536682 Затем в качестве примера, скажем, вы хотите загрузить d3dx9d.pdb. скопируйте d3dx9d.dll из C:\windows\system32 и вставьте еще одну копию в папку (отладчик) windbg symchk.exe, затем подключитесь к вашему интернет-серверу, перейдите в меню "Пуск" Windows, выполните: [затем введите] cmd [нажмите enter], затем перейдите в папку отладчика windbg, перейдя в командную строку (окно MS-DOS) (например, если она находится в папке C:\windbg_6p12p0002p633\debugger_x86, введите:)
cd windbg_6p12p0002p633 [enter] cd debugger_x86
[и, наконец, введите следующее, но замените двойную звездочку ** на одну звездочку *:]
symchk / if d3dx9d.dll srv ** c: \ символы *\ главный сервер \ символы * https://msdl.microsoft.com/download/symbols
Обратите внимание еще раз, что после srv должна быть только одна звездочка (пост будет интерпретировать звездочку как курсив или полужирный шрифт), а не две, тогда она откроет symchk.exe и загрузит файл символов pdb, связанный с введенной dll, в автоматически создал папку C:\symbols\!