ProgramingTip

오류 메시지 : PDB 파일을 찾거나 열 수 없습니다.

bestdevel 2020. 11. 16. 21:58
반응형

오류 메시지 : PDB 파일을 찾거나 열 수 없습니다.


NVIDIA 공식 사이트 에서 제공하는 샘플 프로그램을 실행 해 보았습니다 . 메시지는 제외하고 대부분의 프로그램이 원활하게 실행됩니다. 어떻게 고칠 수 있습니까? 다음은 "MatrixMul"이라는 프로그램을 실행 한 후받은 오류 메시지의 샘플입니다.

참고 : Window7x64 OS에 x32 및 x64 NVIDIA CUDA Toolkit v5.0을 모두 설치했습니다 .

'matrixMul.exe': Loaded 'C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0\bin\win32\Debug\matrixMul.exe', Symbols loaded.
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\ntdll.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\kernel32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\KernelBase.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Program Files (x86)\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin\cudart32_50_35.dll', Binary was not built with debug information.
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\apphelp.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\AppPatch\AcLayers.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\sspicli.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\msvcrt.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\rpcrt4.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\cryptbase.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\sechost.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\user32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\gdi32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\lpk.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\usp10.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\advapi32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\shell32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\shlwapi.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\ole32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\oleaut32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\userenv.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\profapi.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\winspool.drv', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\mpr.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\imm32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\msctf.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\nvinit.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\nvcuda.dll', Binary was not built with debug information.
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\setupapi.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\cfgmgr32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\devobj.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\dwmapi.dll', Cannot find or open the PDB file
'matrixMul.exe': Unloaded 'C:\Windows\SysWOW64\dwmapi.dll'
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\nvapi.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\version.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\wintrust.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\crypt32.dll', Cannot find or open the PDB file
'matrixMul.exe': Loaded 'C:\Windows\SysWOW64\msasn1.dll', Cannot find or open the PDB file
The thread 'Win32 Thread' (0x12fc) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x18a0) has exited with code 0 (0x0).
The program '[3104] matrixMul.exe: Native' has exited with code 0 (0x0)


PDB 파일은 프로젝트에 대한 존재하는 기호가있는 Visual Studio 특정 파일입니다. 디버거를 사용하여 해당 dll에 대한 코드를 입력하려는 경우가 아니라면에 대한 코드 메시지를 무시할 수 있습니다 (시스템 dll 의심 스럽습니다). (최소한 기본적으로 Microsoft Symbol Server 를 사용하여 할 때 즉, 수 있음이 밝혀 짐 ). 의미하는 바는 중단 점을 설정하고 코드를 단계별로 진행할 때 해당 dll (어 · 든 수행하고 싶지 않음)에 도움 수있는 것입니다.

완전성을 위해 MSDN 공식 PDB 설명은 다음과 가변됩니다.

프로그램 데이터베이스 (PDB) 파일에는 프로그램의 디버그 구성에 대한 증분 링크를 허용하는 디버깅 및 프로젝트 상태 정보가 있습니다. / ZI 또는 / Zi로 C / C ++ 프로그램을 컴파일하면 PDB 파일이 생성됩니다.

또한 향후 참조를 위해 자신의 코드에 대한 PDB 파일을 사용하려면 / ZI 또는 / Zi 옵션을 활성화하여 프로젝트를 빌드해야합니다 (프로젝트 속성-> C / C ++를 통해 설정할 수 있음). -> 일반을 클릭 한 다음 "디버그 정보 형식"필드를 설정합니다.) 귀하의 상황과는 관련이 없지만 향후 유용 할 것이라고 생각했습니다.


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


이 메시지가 마음에 들지 않으면 Visual Studio에서이 지침을 적용하려면 관리자 권한으로 Visual Studio를 실행해야합니다.

도구-> 옵션-> 디버깅-> 기호를 선택하고 "Microsoft 기호 서버"상자를 선택하고 모든 모듈로드를 표시 한 다음 모든 기호로드를 클릭합니다.

Visual Studio의 다른 모든 작업이 자동으로 수행되며 출력 창의 디버그 아래에 "Native '가 코드 0 (0x0)으로 종료되었습니다."라는 메시지가 표시됩니다.


  1. 프로젝트 속성> 구성 속성> 링커> 디버깅 탭에서 디버그 정보 생성 설정이 예인지 확인하십시오. 그렇지 않은 경우 예로 변경하십시오.

  2. 해당 pdb (ntdll.dll, mscoree.dll, kernel32.dll 등의 경우)는 Windows API 용이며 간단한 앱에는 필요하지 않습니다. 그러나 컴파일 된 프로젝트에 대한 pdb를 찾을 수없는 경우 프로젝트 속성> 구성 속성> 디버깅> 작업 디렉터리가 프로젝트 속성> 구성 속성> 일반> 출력 디렉터리의 값을 사용하는지 확인하는 것이 좋습니다.

  3. Visual C ++를 "관리자 권한으로 실행"모드에서 실행해야합니다. 실행 파일을 마우스 오른쪽 버튼으로 클릭하고 "관리자 권한으로 실행"을 클릭하십시오.


나는 또한 CUDA / Visual Studio의 초보자이며 몇 가지 샘플에서 동일한 문제가 발생했습니다. DEBUG-> Start Debugging을 실행 한 다음 반복해서 단계 (F10)하면 출력 창이 나타나고 채워집니다. 정상 실행은 정상 완료 상태 0x0 (관찰 한대로)을 반환하고 출력 창이 닫힙니다.


Visual Studio에서 이런 일이 발생하면 프로젝트를 정리하고 다시 실행하십시오.

빌드-> 깨끗한 솔루션

실행 (또는 F5)

참고 URL : https://stackoverflow.com/questions/15937707/error-message-cannot-find-or-open-the-pdb-file

반응형