2011-09-21 2 views
4

최근에 업그레이드 된 Visual Studio 2010을 사용하고 있습니다. 이 솔루션에는 25 개의 프로젝트가 포함되어 있으며 12 개의 dll과 exe를 만듭니다. 특정 문제를 디버깅하려고하는데 기호가로드되지 않아서 그럴 수 없습니다.PDB 파일 메시지를 찾을 수 없거나 열 수 없습니다. pdb가 있습니다.

"PDB 파일을 찾을 수 없거나 열 수 없습니다."라는 메시지가 표시됩니다.이 파일은 PDB 파일 중 하나이며 프로젝트의 DLL 중 하나가 생성하고 다른 모든 PDB 파일은 올바르게로드됩니다. PDB 파일은 dll과 같은 디렉토리에 있으며, 솔루션을 정리하고 다시 작성했습니다.

또한 pdb 이름에서 프로세스 탐색기 필터링을 실행했습니다. 이것은 발견되어 열리고 성공적으로 읽음을 나타냅니다. 이상하게도 다른 위치에서 pdb도 계속 찾아 보았습니다.

누구든지 이에 대해 의견이 있으십니까?

+0

이에 대한 수정을 찾았지만, 정말 왜 작동하는지 모르겠어요. 프로젝트가 생성하는 pdb 파일의 이름을 변경했습니다. 이상한 점은 이전의 이름을 가진 pdb 파일을 생성하고 새로운 이름으로 파일을 생성하지 않았다는 것입니다. 하지만 그것은 pdb 파일을 찾아서로드 할 수있었습니다. – Vireche

+0

수정 프로그램을 찾을 때 주석을 게시하는 대신 답변으로 게시하고 허용 된 대답으로 선택하십시오. – Nav

답변

2

대부분의 경우 Visual Studio에는 파일 핸들에 문제가 있습니다. Visual Studio는 PDB를 프로세스에서 사용하는 것으로 간주하지만 그 프로세스는 Visual Studio입니다 (나는 다소 어리 석다).

시스템을 재부팅하고 빌드하기 전에 수동으로 PDB 파일을 삭제하십시오. 그것은 보통 나를 위해 작동합니다.

+1

아이디어를 제공해 주셔서 감사합니다. 안타깝게도 도움이되지 못했습니다. – Vireche

0

프로젝트가 여러 개 나오거나 동일한 PDB 파일을 출력하는 중입니까? EXE 또는 DLL로 컴파일 할 수있는 프로젝트가있었습니다. 물론, 기본적으로, 그들은 서로 다른 PDB 파일을 작성했습니다. 그래서 VS는 PDB가 일치하지 않음을 감지합니다.

VS2010으로 옮겼을 때 모든 프로젝트 및 구성에서 대상 이름을 "$ (ProjectName) _ $ (구성)"으로 설정하여이 문제를 해결했습니다. 디버그에서 사용되는 Microsoft 기호 서버에서

1

를 켜고 -> 옵션 설정 -> 디버깅 -> 기호

enter image description here

+0

전혀 도움이되지 않았습니다. –

관련 문제