Não é possível encontrar ou abrir o arquivo PDB no Visual Studio C ++ 2010

117

Eu uso o Visual Studio 2010 C ++ e meu projeto cria sem erros, mas quando eu o executo, eu entendo isso. Estou no Windows XP.

'Shaders.exe': Loaded 'C:\Documents and Settings\User\My Documents\Visual Studio        2010\Projects\Shaders\Win32\Debug\Shaders.exe', Symbols loaded.
'Shaders.exe': Loaded 'C:\WINDOWS\system32\ntdll.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll', Cannot find or open the PDB  file
'Shaders.exe': Loaded 'C:\qt-everywhere-opensource-src-4.8.3\bin\QtCored4.dll', Symbols  loaded.
'Shaders.exe': Loaded 'C:\WINDOWS\system32\user32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\gdi32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\ole32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\advapi32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\rpcrt4.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\secur32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\msvcrt.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\ws2_32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\ws2help.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\msvcp100d.dll', Symbols loaded.
'Shaders.exe': Loaded 'C:\WINDOWS\system32\msvcr100d.dll', Symbols loaded.
'Shaders.exe': Loaded 'C:\qt-everywhere-opensource-src-4.8.3\bin\QtGuid4.dll', Symbols loaded.
'Shaders.exe': Loaded 'C:\WINDOWS\system32\comdlg32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\comctl32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\shell32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\shlwapi.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\oleaut32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\imm32.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\winmm.dll', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\WINDOWS\system32\winspool.drv', Cannot find or open the PDB file
'Shaders.exe': Loaded 'C:\qt-everywhere-opensource-src-4.8.3\bin\QtOpenGLd4.dll', Symbols loaded.

obrigado

user1723768
fonte
2
Não tenho certeza se isso vai resolver o seu problema ou não, mas meu problema resolveu meu Cannot find or open the PDB fileproblema no Virtual C ++ 2010 Express. Vá para Tools > Options > Debugging > Nativee verifiqueLoad DLL Exports
Ari
6
Observe que a localização desta opção mudou a partir do Visual Studio 2015, agora está emTools > Options > Debugging > General > Load dll exports (Native only)
Remko Duursma

Respostas:

245

PDB é um arquivo de informações de depuração usado pelo Visual Studio. Estas são DLLs de sistema, para as quais você não possui símbolos de depuração. Vá para Tools->Options->Debugging->Symbolse selecione a caixa de seleção "Microsoft Symbol Servers", o Visual Studio baixará PDBs automaticamente. Ou você pode simplesmente ignorar esses avisos se não precisar ver a pilha de chamadas correta nesses módulos.

Paulo
fonte
1
Eu tenho o mesmo problema que estava tentando instalar o opencv para VS12. Parecia carregar os símbolos, mas quando eu reconstruo não há mudança. Você tem outra ideia de por que isso está acontecendo?
Ege,
Funcionou para mim, mas apenas parcialmente. Ele não pode carregar símbolos para as dlls relacionadas ao openCV. O mesmo que @Ege
Ruchir,
1
@Ruchir Você precisa especificar caminhos para símbolos OpenCV nessa caixa de diálogo. Os Microsoft Symbol Servers possuem apenas símbolos para Microsoft DLLs.
Paul,
Obrigado @Paul. Não tenho arquivos PDB relacionados ao OpenCV e parece que para obtê-los, terei que reinstalar o OpenCV usando cmake stackoverflow.com/a/19436870/5022962 . Não quero reinstalar o OpenCV ...
Ruchir
O \Users\%Username%\AppData\Local\Temp\SymbolCache\MicrosoftPublicSymbolsé o local típico onde os símbolos MS baixados são armazenados. Durante os 50 MB D / L do meu projeto, o VS10 no modo "ampulheta" nunca foi relegado pelo Gerenciador de Tarefas a um "estado sem resposta".
Laurie Stearn,
50

Trabalhando com o VS 2013.
Experimente as seguintes ferramentas -> Opções -> Depuração -> Janela de saída -> Mensagens de carregamento de módulo -> Desligado

Isso irá desativar a exibição dos módulos carregados.

Luis salazar
fonte
6
Esta é a melhor solução, pois remove essas linhas em vez de apenas corrigir as informações dos arquivos descarregados do PDB. Votos positivos.
Tentando fazer isso, o ambiente do estúdio visual mudou seu ambiente visual :(
Alexander Leon VI
9
Observe que essa não é a solução, apenas evita o problema.
Cary Bondoc
3
@CaryBondoc depende de como você vê o problema ... se o problema é que muitos ruídos irrelevantes na saída podem tornar mais fácil perder informações reais, então este método é melhor, já que o outro método apenas altera a qualidade do ruído, substituindo Cannot find or open the PDB filepor Symbols loaded. Seria bom se a saída fosse codificada por cores ou algo assim. Claro que também existe o risco de fazer isso e esquecer quando mais tarde se tornar importante. Essa é a vida de um programador.
PeterT de
Como evitar esta janela? Quando pressiono F11 no método de estrutura, recebo esta janela irritante. Tenho que ter cuidado ao pressionar F11 ou F10. por favor ajude
M.kazem Akhgary
33

A resposta de Paul está certa, estou apenas colocando o visual para chegar lá facilmente.

Vá para Ferramentas-> Opções-> Depuração-> Símbolos

Defina a caixa de seleção marcada em vermelho e ele baixará os arquivos pdb da Microsoft. Ao marcar a caixa de seleção, ele também definirá um caminho padrão para os arquivos pdb na caixa de edição em, você não precisa alterar isso.

insira a descrição da imagem aqui

zar
fonte
3
A captura de tela é muito útil!
strarsis,
4

Se você tiver mais como um projeto em seu mapa de projeto, use O MESMO nome de PDB PathFile codificado em todos os seus subprojetos:

Use por exemplo

D:\Visual Studio Projects\my_app\MyFile.pdb

Não use por exemplo

$(IntDir)\MyFile.pdb

em todos os subprojetos !!!

= Parâmetro do compilador / Fd

Ingo
fonte
o que é "Mapa do projeto"?
Wakan Tanka
0

Isso também pode acontecer se você não tiver permissões de modificação no diretório de cache de símbolo configurado em Ferramentas, Opções, Depuração, Símbolos.

EM0
fonte
0

Encontrei um problema semelhante em que o Visual Studio (2017) disse que não conseguia encontrar o arquivo PDB do meu projeto. Pude ver que o arquivo PDB existia no caminho correto. Tive que limpar e reconstruir o projeto, então o Visual Studio reconheceu o arquivo PDB e a depuração funcionou.

jsl4980
fonte
-1

basta adicionar o caminho do .pdb ao diretório de trabalho do VS!

rico
fonte