Por que o Visual Studio 2010 não consegue localizar / abrir arquivos PDB?

Estou tentando usar o OpenCV no VS 2010. Sou um amador e estou aprendendo os primeiros passos do wiki do OpenCV. No entanto, ao tentar depurar meu projeto, recebo os seguintes erros:

‘C: \ Windows \ SysWOW64 \ ntdll.dll’, não é possível localizar ou abrir o arquivo PDB ‘C: \ Windows \ SysWOW64 \ kernel32.dll’, não é possível localizar ou abrir o arquivo PDB ‘C: \ Windows \ SysWOW64 \ kernellbase. dll ‘, não é possível localizar ou abrir o arquivo PDB

Eu tenho esses arquivos no diretório correto, então por que não pode abri-los? O que devo fazer para corrigir o problema?

Primeiro, altere os seguintes parâmetros:

Ferramentas -> Opções -> Depuração -> Símbolos -> Servidor -> Sim

Em seguida, pressione Ctrl + F5 e você verá coisas incríveis.

Tenho certeza que esses são avisos , não erros. Seu projeto ainda deve funcionar bem.

No entanto, como você deve sempre tentar corrigir os avisos do compilador, vamos ver o que podemos descobrir. Eu não estou familiarizado com o OpenCV, e você não liga para o tutorial do wiki que você está seguindo. Mas parece-me que o problema é que você está executando uma versão de 64 bits do Windows (como evidenciado pela pasta “SysWOW64” no caminho para os arquivos DLL), mas o material do OpenCV que você está tentando é construído para uma plataforma de 32 bits. Então você pode precisar reconstruir o projeto usando o CMake, como explicado aqui .

Mais especificamente, os arquivos listados são arquivos de sistema do Windows. Arquivos PDB contêm informações de debugging que o Visual Studio usa para permitir que você depurar e depurar o código compilado. Na verdade, você não precisa dos arquivos PDB das bibliotecas do sistema para poder depurar seu próprio código. Mas se você quiser, você pode baixar os símbolos para as bibliotecas do sistema também. Vá para o menu “Depurar”, clique em “Opções e configurações” e role para baixo na checkbox de listview à direita até ver “Ativar suporte ao servidor de origem”. Certifique-se de que essa opção esteja marcada. Em seguida, no treeview para a esquerda, clique em “Símbolos” e verifique se a opção “Microsoft Symbol Servers” está selecionada. Clique em OK para descartar o diálogo e tente recriar.

Visual Studio Community Edition 2015

Estou tendo esse erro o dia todo. Eu finalmente consertei indo em Ferramentas> Importar e exportar configurações> Redefinir todas as opções> Redefinir configurações gerais.

Depois de redefinir, vá para Ferramentas> Opções> Depuração> Símbolos> – Em seguida, marque a checkbox ao lado de Microsoft Symbol Servers.

Execute o seu aplicativo no modo de debugging, e ele abrirá janelas dizendo que ele está baixando símbolos para um monte de arquivos .dll diferentes. Deixe terminar de fazer isso.

Depois de concluído, deve funcionar novamente.

Eu tive o mesmo problema. Acontece que, compilando um projeto que recebi de outra pessoa, não defini o projeto StartUp correto (clique com o botão direito no projeto de boot desejado no gerenciador de soluções e escolha “set as StartUp Project”). Talvez isso ajude, vivas.

Para usuários do VS2013 que se encontram aqui como eu fiz:

Tools -> Options -> Debugging -> Symbols 

Você verá que o campo Cache symbols in this directory: está vazio; você pode navegar / digitar o caminho sozinho ou simplesmente ir em frente e clicar no botão Load all symbols . Uma janela de alerta aparecerá dizendo “Desde que você não selecionou um diretório de cache de símbolos, o padrão será usado”. Agora você verá C:\Users\XXXX\AppData\Local\Temp\SymbolCache no campo de caminho anteriormente vazio. Clique em Load all symbols uma segunda vez e você deve estar definido. Clique em OK, e apenas por uma questão de diligência, limpe e reconstrua sua solução.

Referindo-se ao primeiro thread / outra possibilidade VS cant open ou encontrar o arquivo pdb do processo é quando você tem o seu executável em execução em segundo plano. Eu estava trabalhando com o mpiexec e me deparei com esse problema. Sempre verifique seu gerenciador de tarefas e elimine qualquer processo exec que você irá construir em seu projeto. Uma vez que fiz isso, depurei ou construí muito bem.

Além disso, se você tentar continuar com o aviso, os pontos de interrupção não seriam atingidos e não teriam o executável atual

Eu descobri que esses erros às vezes são de falta de permissions ao compilar um projeto – então eu corro como administrador para que ele funcione corretamente.

Eu estou tendo os mesmos avisos. Não tenho certeza se é uma questão de 32 vs 64 bits. Apenas carregamos os novos símbolos e alguns problemas foram solucionados, mas os relacionados ao OpenCV ainda persistem. Este é um extrato da saída com problema resolvido versus não resolvido:

‘OpenCV_helloworld.exe’: carregado ‘C: \ OpenCV2.2 \ bin \ opencv_imgproc220d.dll’, não é possível localizar ou abrir o arquivo PDB

‘OpenCV_helloworld.exe’: Carregado ‘C: \ WINDOWS \ system32 \ imm32.dll’, símbolos carregados (informações de origem removidas).

O código está saindo 0 no caso de alguém perguntar.

O programa ‘[4424] OpenCV_helloworld.exe: Native’ saiu com o código 0 (0x0).

Eu tive o mesmo problema. Depuração não funciona com o material que vem com o executável OpenCV. você tem que construir seus próprios binários.
Em seguida, ative os Microsoft Symbol Servers em Debug-> options and settings-> debug-> symbols

Eu tive o mesmo problema. Quando eu corri meu teste de unidade no código C ++, recebi um erro que dizia: “Não é possível localizar ou abrir o arquivo PDB”.

Logs

Quando eu olhei para o log de saída no Visual Studio, vi que estava procurando na pasta errada. Eu tinha renomeado a pasta WinUnit, mas algo no código WinUnit estava procurando o arquivo PDB usando o nome da pasta antiga. Eu acho que eles codificaram isso.

Encontrou o problema

Quando baixei e descompactei pela primeira vez os arquivos WinUnit, a pasta principal era chamada “WinUnit-1.2.0909.1”. Depois que eu descompactei o arquivo, renomei a pasta como “WinUnit”, pois é mais fácil digitar durante a instalação do projeto do Visual Studio. Mas aparentemente isso quebrou a capacidade de encontrar o arquivo PDB, mesmo que eu configure tudo de acordo com a documentação do WinUnit.

Minha correção

Eu mudei o nome da pasta de volta para o original, e funciona.

Esquisito.

Teve o mesmo problema aqui, mas uma solução diferente funcionou.

Primeiro, tentei o seguinte, nenhum dos quais funcionou:

  1. Carregar símbolos como sugerido por seanlitow

  2. Remover / Adicionar referência a PresentationFramework e PresentationCore

  3. Sistema de reboot

A solução foi desfazer as últimas alterações que fiz no meu código. Eu tinha acabado de adicionar alguns botões de rádio e manipuladores de events para events marcados e não verificados. Depois de remover minhas alterações recentes, tudo foi compilado. Em seguida, adicionei minhas alterações exatas e tudo foi compilado corretamente. Não entendo por que isso funcionou – a única coisa em que consigo pensar é um problema com a minha solução VS. De qualquer forma, se nenhuma das outras sugestões funcionar, você pode tentar reverter suas alterações mais recentes. OBSERVAÇÃO: se você fechar e reabrir o Visual Studio, seu histórico de undo será perdido. Portanto, tente isso antes de fechar o VS.