Visual Studio C ++ 2010에서 PDB 파일을 찾거나 열 수 없음


117

Visual Studio 2010 C ++를 사용하고 내 프로젝트는 오류없이 빌드되지만 실행하면이 문제가 발생합니다. 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.

감사


2
이것이 문제를 해결할 수 있을지 확실하지 않지만 내 Cannot find or open the PDB file문제는 Virtual C ++ 2010 Express에서 내 문제를 해결했습니다 . 이동 Tools > Options > Debugging > Native및 확인Load DLL Exports
Ari

6
그것은 아래 지금이 옵션의 위치는 비주얼 스튜디오 2015로 변경되었음을 유의하시기 바랍니다Tools > Options > Debugging > General > Load dll exports (Native only)
Remko Duursma

답변:


245

PDB는 Visual Studio에서 사용하는 디버그 정보 파일입니다. 디버그 기호가없는 시스템 DLL입니다. Tools->Options->Debugging->Symbols"Microsoft Symbol Servers"로 이동하여 확인란을 선택하면 Visual Studio가 PDB를 자동으로 다운로드합니다. 또는 이러한 모듈에서 올바른 호출 스택을 볼 필요가없는 경우 이러한 경고를 무시할 수 있습니다.


1
OpenCV를 VS12에 설치하려는 것과 동일한 문제가 있습니다. 기호를로드하는 것처럼 보였지만 다시 빌드 할 때 변경 사항이 없습니다. 왜 이런 일이 일어나는지 다른 생각이 있습니까?
Ege 2013 년

그것은 나를 위해 일했지만 부분적으로 만 작동했습니다. openCV와 관련된 dll에 대한 기호를로드 할 수 없습니다. @Ege과 동일
Ruchir

1
@Ruchir 해당 대화 상자에서 OpenCV 기호에 대한 경로를 지정해야합니다. Microsoft Symbol Server에는 Microsoft DLL에 대한 기호 만 있습니다.
Paul

감사합니다 @Paul. OpenCV 관련 PDB 파일이 없으며 cmake stackoverflow.com/a/19436870/5022962를 사용하여 OpenCV를 다시 설치해야하는 것 같습니다 . 하지만 OpenCV를 다시 설치하고 싶지 않습니다 ....
Ruchir

\Users\%Username%\AppData\Local\Temp\SymbolCache\MicrosoftPublicSymbols다운로드 MS 심볼들이 저장되는 일반적인 위치이다. 그러나 내 프로젝트의 50MB D / L 동안 "모래 시계"모드의 VS10은 작업 관리자에 의해 "응답하지 않는 상태"로 강등되지 않았습니다.
로리 Stearn

50

VS 2013 작업.
다음 도구-> 옵션-> 디버깅-> 출력 창-> 모듈로드 메시지-> 끄기를 시도합니다 .

로드 된 모듈의 표시를 비활성화합니다.


6
PDB 언로드 된 파일 정보를 수정하는 대신 이러한 줄을 제거하므로 더 나은 솔루션입니다. 찬성.

이를 위해 비주얼 스튜디오 환경은 시각적 환경을 변경했습니다. (
Alexander Leon VI

9
이것은 해결책이 아니라 문제를 피할뿐입니다.
Cary Bondoc 2015-08-25

3
@CaryBondoc은 문제를 무엇으로 보는지에 따라 달라집니다 ... 문제가 출력에있는 많은 관련없는 노이즈가 실제 정보를 놓치기 쉽게 만들 수 있다는 것이라면이 방법이 더 좋습니다. 대체하여 노이즈 Cannot find or open the PDB fileSymbols loaded. 출력물이 색상으로 구분되어 있으면 좋을 것입니다. 물론이 작업을 수행하고 나중에 중요해질 때 잊어 버릴 위험도 있습니다. 이것이 프로그래머의 삶입니다.
PeterT

이 창을 피하는 방법은 무엇입니까? 프레임 워크 메소드에서 F11을 누르면이 성가신 창이 나타납니다. F11을 누르거나 F10을 눌러야 할 때주의해야합니다. 도와주세요
M.kazem Akhgary

33

Paul의 답변이 옳습니다. 저는 쉽게 거기에 도달 할 수 있도록 비주얼을 넣는 것입니다.

도구-> 옵션-> 디버깅-> 기호로 이동합니다.

빨간색으로 표시된 확인란을 설정하면 Microsoft에서 pdb 파일을 다운로드합니다. 확인란을 설정하면 아래의 편집 상자에 pdb 파일의 기본 경로도 설정되므로 변경할 필요가 없습니다.

여기에 이미지 설명 입력


3
스크린 샷은 정말 도움이됩니다!
strarsis

4

프로젝트 맵에 하나의 프로젝트가있는 경우 모든 하위 프로젝트에서 동일한 하드 코딩 된 PathFile PDB 이름을 사용합니다.

사용 예

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

예를 사용하지 마십시오

$(IntDir)\MyFile.pdb

모든 하위 프로젝트에서 !!!

= 컴파일러 매개 변수 / Fd


"프로젝트 맵"은 무엇입니까?
Wakan Tanka

0

도구, 옵션, 디버깅, 기호에서 구성된 기호 캐시 디렉토리에 대한 수정 권한 이없는 경우에도 발생할 수 있습니다 .


0

Visual Studio (2017)에서 내 프로젝트의 PDB 파일을 찾을 수 없다고 말하는 비슷한 문제가 발생했습니다. PDB 파일이 올바른 경로에 존재하는 것을 볼 수 있습니다. 프로젝트를 정리하고 다시 빌드해야했는데 Visual Studio가 PDB 파일을 인식하고 디버깅이 작동했습니다.


-1

VS의 작업 디렉토리에 .pdb의 경로를 추가하기 만하면됩니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.