문제

Visual Studio 2005 (버전 8.0.50727.762)로 긴 편집하는 동안 일부 프로젝트의 여러 파일에서 다음 오류가 발생합니다.

fatal error C1033: cannot open program database 'v:\temp\apprtctest\win32\release\vc80.pdb'

(언급 된 파일도 마찬가지입니다 vc80.pdb 또는 vc80.idb 프로젝트의 온도에서.)

동일한 프로젝트의 다음 빌드가 성공합니다. 동일한 파일에 액세스 할 수있는 다른 Visual Studio Open은 없습니다.

이것은 야간 편집이 불가능하기 때문에 심각한 문제입니다.

도움이 되었습니까?

해결책

바이러스 백신 또는 유사한 프로그램이 Write에서 PDB 파일을 터치하고있을 수 있습니다.이 시나리오에서 바이러스 백신이 가장 의심 스럽습니다. 상점에서 야간 빌드를 설정하는 과거의 경험을 바탕으로 일반적인 포인터 만 제공 할 수 있을까 두렵습니다. 이들 중 일부는 사소한 것처럼 들릴지 모르지만 완성을 위해 그들을 포함시키고 있습니다.

  • 가장 먼저 : 깨끗한 슬레이트로 시작하십시오. 즉, 야간을 시작하기 전에 빌드의 출력 디렉토리를 강제로 옮깁니다.
  • 야간 기계에 바이러스 백신, 안티 스피웨어 또는 기타 프로그램이있는 경우 제거를 고려하십시오. 옵션이 아닌 경우 프로그램 제외 목록에 OBJ 폴더를 추가하십시오.
  • (선택 사항) 야간의 일부로 vcbuild 또는 msbuild와 같은 도구를 사용하는 것을 고려하십시오. 멀티 코어 머신을 사용하는 경우 MSBuild를 사용하는 것이 낫다고 생각합니다. 우리는 Nightlies에 Incredibuild와 릴리스를 위해 MSBuild를 사용하며, 설명하는 문제는 없었습니다.

다른 것이 작동하지 않으면 빌드가 시작된 후 몇 시간 후에 Watchdog 스크립트를 예약하고 상태를 확인할 수 있습니다. 빌드가 실패하면 워치 독이 다시 시작해야합니다. 이것은 추악한 해킹이지만 아무것도 아닌 것보다 낫습니다.

다른 팁

우리는 이것을 내 사이트에서도 많이 보았습니다. 이 설명, Peter Kaufmann의 설정은 설정을 기반으로 가장 그럴듯한 것 같습니다.

Visual Studio 2005에서 솔루션을 구축 할 때는 치명적인 오류 C1033과 같은 오류가 발생합니다. 그러나 빌드를 두 번째로 실행하면 일반적으로 성공합니다.

이유 : 솔루션의 두 프로젝트가 출력을 동일한 디렉토리 (예 : 'xxx debug')에 작성하는 것이 가능합니다. 최대 병렬 프로젝트 수가 도구 - 옵션, 프로젝트 및 솔루션 - 빌드 및 실행에서 1보다 큰 값으로 설정된 경우 두 개의 컴파일러 스레드가 동시에 동시에 액세스하려고 시도하여 파일을 초래할 수 있음을 의미합니다. 갈등 공유. 솔루션 : 프로젝트 설정을 확인하고 출력, 대상 또는 모든 종류의 중간 파일을 위해 동일한 디렉토리를 사용하지 않는지 확인하십시오. 또는 빠른 해결 방법을 위해 최대 병렬 프로젝트 빌드 설정 수를 1로 설정하십시오. Clapack 라이브러리와 함께 제공되는 VS 프로젝트 파일을 사용하는 동안이 문제를 경험했습니다. 업데이트 : 거북이 SVN이 파일이 버전 제어가 아닌 경우에도 'VC80.pdb'에 액세스 할 가능성이 있습니다. 그러나 모든 프로젝트에 다른 출력 디렉토리가 사용되는지 확인한 후 문제를 재현 할 수 없으므로이를 확인할 수 없습니다.

PDB를 사용하는 대신 디버그 정보를 C7 형식으로 전환하십시오.

Project Options -> C/C++ -> General -> Debug Information Format 그리고 그것을 설정하십시오 C7.

이것은 일반적으로 이전의 디버깅 시도가 디버거를 완전히 죽이지 않았을 때 발생합니다. 작업 관리자에서 VCJIT라는 프로세스를 찾으십시오. 죽이고 다시 시도하십시오. 최악의 옵션을 다시 시작하면 문제를 해결해야합니다.

나는 오늘이 문제를 겪었고 PDB로 향하는 경로에서 비인시 캐릭터로 판명되었습니다.

VMware를 통해 Windows를 사용하고 있으며 내 프로젝트는 공유 위치에 있습니다.

users Julian Project로 옮겼을 때 문제가 해결되었습니다.

vs .... 및 속성-> 호환성-> 진드기의 탁월한 파일을 마우스 오른쪽 버튼으로 클릭하십시오 : "Off ........

Dropbox 폴더에있는 프로젝트를 수행하는 동안 비슷한 문제가있었습니다. Dropbox가 파일에 액세스하여 서버에 업로드하기 때문에 작은 "동기화"아이콘이 시스템 트레이의 Dropbox 아이콘에 올라갈 때이 오류가 발생한다는 것을 알았습니다. Dropbox가 동기화가 끝날 때까지 빌드를 기다렸을 때 매번 작동했습니다.

방금이 문제를 해결했습니다. Visual Studio는 열 수 없다는 것에 대해 불평했습니다. vc100.pdb. 이 파일을 사용하여 열린 파일 핸들을 찾았습니다. procexp 그리고 그 과정을 알았습니다 mspdbsrv 열린 파일 핸들이있었습니다. 이 과정을 죽이는 것은 문제를 해결했으며 컴파일 할 수있었습니다.

linqtosql을 전혀 사용하고 있습니까? 아마도이 질문에서 물었을 때 때때로 경험할 홀수 오류와 비슷할 것입니다. Visual Studio가 어셈블리를 잘못로드하지 못하는 원인은 무엇입니까?

중간 디렉토리를 다음과 같이 변경했습니다.

%TEMP%\$(ProjectName)\$(Platform)\$(Configuration)\

에게

C:\temp\$(ProjectName)\$(Platform)\$(Configuration)\

지금은 작동합니다. 왜 그런지 모르겠습니다.

나는 같은 문제가 있습니다 C1033: cannot open program database,

대본

두 개의 DLL이 있습니다 parent.dll 그리고 child.dll. 나는 방금 autted child.dll project with visual studio debugger가있는 동시에 부모 .dll project를 만들려고하는 동시에 오류를 생성합니다. C1033: cannot open program database

해결책

디버깅을 중지하고 디버거에 첨부 된 프로세스를 킬

나는 내가 일관되게 나에게 일어난다 Ctrl 키+부서지다 빌드를 취소하려면 (vs2015). 제대로 종료되지 않는 프로세스가 있습니다. 나는 "End Tasking"MS/vs 관련 프로세스 (중복을 찾음)를 계속 진행했으며 내 빌드가 다시 작동했습니다. 다시 시작하는 것도 아마도 작동 할 것입니다. Gnu binutils로 이동하는 것.

성가신 잠금 해제 도구는 파일을 잠그는 프로세스를보고하지 않습니다. Windows는 .pdb 그러나 나는 그것을 바꿀 수 있습니다. 제 생각에는 두 가지 프로세스가 빌드 중에 동시에 뛰어 들었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top