developer tip

Visual Studio 2010에서 PDB 파일을 찾거나 열 수없는 이유는 무엇입니까?

optionbox 2020. 10. 5. 07:51
반응형

Visual Studio 2010에서 PDB 파일을 찾거나 열 수없는 이유는 무엇입니까?


저는 VS 2010에서 OpenCV를 사용하려고합니다. 저는 아마추어이고 OpenCV 위키에서 첫 단계를 배우고 있습니다. 그러나 프로젝트를 디버깅하려고 할 때 다음 오류가 발생합니다.

'C : \ Windows \ SysWOW64 \ ntdll.dll', PDB 파일 'C : \ Windows \ SysWOW64 \ kernel32.dll'을 찾거나 열 수 없습니다. PDB 파일 'C : \ Windows \ SysWOW64 \ kernellbase.dll'을 찾거나 열 수 없습니다. dll ', PDB 파일을 찾거나 열 수 없습니다.

해당 파일이 올바른 디렉토리에 있는데 왜 열 수 없습니까? 문제를 해결하려면 어떻게해야합니까?


먼저 다음 매개 변수를 변경하십시오.

도구-> 옵션-> 디버깅-> 기호-> 서버-> 예

그런 다음 Ctrl+를 누르면 F5놀라운 것을 볼 수 있습니다.


나는 그것들이 오류가 아니라 경고 라고 확신 합니다. 프로젝트는 여전히 잘 실행됩니다.

그러나 항상 컴파일러 경고를 수정해야하므로 무엇을 발견 할 수 있는지 살펴 보겠습니다. 나는 OpenCV에 전혀 익숙하지 않으며 당신이 따르는 위키 튜토리얼에 링크하지 않습니다. 하지만 문제는 64 비트 버전의 Windows (DLL 파일 경로의 "SysWOW64"폴더에서 알 수 있듯이)를 실행하고 있지만 시도중인 OpenCV 항목이 빌드 된 것 같습니다. 32 비트 플랫폼 용. 따라서 여기에 설명 된대로 CMake를 사용하여 프로젝트를 다시 빌드해야 할 수 있습니다 .

보다 구체적으로 나열되는 파일은 Windows 시스템 파일입니다. PDB 파일에는 Visual Studio에서 컴파일 된 코드를 실행하고 디버깅하는 데 사용하는 디버깅 정보가 포함되어 있습니다. 자체 코드를 디버깅 할 수있는 시스템 라이브러리 용 PDB 파일은 실제로 필요하지 않습니다. 그러나 원하는 경우 시스템 라이브러리 의 기호도 다운로드 할 수 있습니다. "디버그"메뉴로 이동하여 "옵션 및 설정"을 클릭하고 "소스 서버 지원 활성화"가 나타날 때까지 오른쪽의 목록 상자를 아래로 스크롤합니다. 옵션이 선택되어 있는지 확인하십시오. 그런 다음 왼쪽의 트리보기에서 "Symbols"를 클릭하고 "Microsoft Symbol Servers"옵션이 선택되었는지 확인합니다. 확인을 클릭하여 대화 상자를 닫은 다음 다시 빌드하십시오.


Visual Studio 커뮤니티 에디션 2015

이 오류가 하루 종일 발생했습니다. 도구> 설정 가져 오기 및 내보내기> 모든 옵션 재설정> 일반 설정 재설정으로 이동하여 마침내 수정했습니다.

재설정되면 Tools> Options> Debugging> Symbols>로 이동 한 다음 Microsoft Symbol Servers 옆의 확인란을 선택하십시오.

디버그 모드에서 앱을 실행하면 여러 .dll 파일에 대한 기호를 다운로드하고 있다는 창이 열립니다. 이 일을 끝내자.

완료되면 다시 작동합니다.


나는 같은 문제가 있었다. 다른 사람에게서받은 프로젝트를 컴파일 할 때 올바른 시작 프로젝트를 설정하지 않은 것으로 나타났습니다 (솔루션 탐색기에서 원하는 시작 프로젝트를 마우스 오른쪽 단추로 클릭하고 "시작 프로젝트로 설정"선택). 아마도 이것이 도움이 될 것입니다.


첫 번째 스레드 / 다른 가능성 VS 프로세스의 pdb 파일을 열거 나 찾을 수 없다는 것은 실행 파일이 백그라운드에서 실행되는 경우입니다. mpiexec로 작업 중이 었고이 문제가 발생했습니다. 항상 작업 관리자를 확인하고 프로젝트에서 빌드 할 exec 프로세스를 종료하십시오. 일단 그렇게하면 디버그되거나 잘 구축되었습니다.

또한 경고를 계속하려고하면 중단 점이 적중되지 않고 현재 실행 파일이 없습니다.


대한 VS2013 내가 한 여기에 자신을 발견 사용자 :

Tools -> Options -> Debugging -> Symbols

당신은 것을 볼 수 있습니다 Cache symbols in this directory:필드가 비어; 경로를 직접 찾아 보거나 입력하거나 계속해서 Load all symbols버튼을 클릭 할 수 있습니다. "심볼 캐시 디렉토리를 선택하지 않았으므로 기본값이 사용됩니다"라는 경고 창이 나타납니다. 이제 C:\Users\XXXX\AppData\Local\Temp\SymbolCache이전에 비어있는 경로 필드에 표시됩니다. Load all symbols두 번째 클릭 하면 설정되어야합니다. 확인을 누르고 부지런히 솔루션을 정리하고 다시 빌드하십시오.


이러한 오류는 때때로 프로젝트를 컴파일 할 때 권한이 부족하여 발생한다는 것을 발견했습니다. 따라서 제대로 작동하도록 관리자 권한으로 실행합니다.


나는 같은 경고를 받고 있습니다. 32 비트 대 64 비트의 문제인지 잘 모르겠습니다. 새 기호를로드하고 몇 가지 문제가 해결되었지만 OpenCV와 관련된 문제는 여전히 남아 있습니다. 다음은 해결 된 문제와 해결되지 않은 문제의 출력을 발췌 한 것입니다.

'OpenCV_helloworld.exe': 'C : \ OpenCV2.2 \ bin \ opencv_imgproc220d.dll'로드 됨, PDB 파일을 찾거나 열 수 없음

'OpenCV_helloworld.exe': 'C : \ WINDOWS \ system32 \ imm32.dll'로드 됨, 심볼로드 됨 (소스 정보 제거됨).

누군가가 요청할 경우 코드는 0으로 종료됩니다.

'[4424] OpenCV_helloworld.exe : Native'프로그램이 코드 0 (0x0)으로 종료되었습니다.


나는 같은 문제가 있었다. 디버깅은 OpenCV 실행 파일과 함께 제공되는 항목에서는 작동하지 않습니다. 자신 만의 바이너리를 만들어야합니다.
그런 다음 디버그-> 옵션 및 설정-> 디버그-> 기호에서 Microsoft 기호 서버를 활성화합니다.


나는 같은 문제에 부딪쳤다. C ++ 코드에서 단위 테스트를 실행했을 때 "PDB 파일을 찾거나 열 수 없습니다"라는 오류가 발생했습니다.

로그

Visual Studio에서 출력 로그를 보았을 때 잘못된 폴더를 찾고 있음을 알았습니다. WinUnit 폴더의 이름을 변경했지만 WinUnit 코드에서 이전 폴더 이름을 사용하여 PDB 파일을 찾고있었습니다. 나는 그들이 그것을 하드 코딩했다고 생각한다.

문제 발견

WinUnit 파일을 처음 다운로드하고 압축을 풀었을 때 기본 폴더는 "WinUnit-1.2.0909.1"이었습니다. 파일의 압축을 푼 후 Visual Studio 프로젝트 설정 중에 입력하기 쉽기 때문에 폴더 이름을 "WinUnit"으로 변경했습니다. 그러나 분명히 이것은 WinUnit 문서에 따라 모든 것을 설정했지만 PDB 파일을 찾는 기능을 깨뜨 렸습니다.

내 수정

폴더 이름을 다시 원본으로 변경했는데 작동합니다.

기묘한.


여기에 동일한 문제가 있었지만 다른 솔루션이 작동했습니다.

먼저 다음을 시도했지만 어느 것도 작동하지 않았습니다.

  1. seanlitow에서 제안한대로 기호로드

  2. PresentationFramework 및 PresentationCore에 대한 참조 제거 / 추가

  3. 시스템 재시작

The solution was to undo the last few changes I had made to my code. I had just added a couple radio buttons and event handlers for checked and unchecked events. After removing my recent changes everything compiled. I then added my exact changes back and everything compiled properly. I don't understand why this worked - only thing I can think of is a problem with my VS Solution. Anyway, if none of the other suggestions work, you might try reverting back your most recent changes. NOTE: if you close & re-open Visual Studio your undo history is lost.. so you might try this before you close VS.

참고URL : https://stackoverflow.com/questions/4813975/why-is-visual-studio-2010-not-able-to-find-open-pdb-files

반응형