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


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.


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.


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


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


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.


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.


-1

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.