2017-11-12 20 views
0

예외가 발생할 때 미니 덤프를 생성하는 프로그램이 있습니다. .exe, .pdb 및 원본 파일의 복사본을 보관했습니다. Visual Studio에서 .pdb 파일을 찾고 클라이언트에서 파일을받을 때 덤프를 분석하도록하는 유일한 방법은 보관 파일을 원래 빌드가 디스크에서 일어난 것과 정확히 동일한 위치에 저장하는 것입니다 .Visual Studio에서 크래시 덤프를 분석하는 방법

.pdb 파일의 경로를 Visual Studio의 디버그 기호 디렉터리에 추가하려고 시도했지만 경로는 항상 무시됩니다. 대신 .exe 파일의 경로가 사용 된 것 같습니다.

현재 개발중인 코드를 임시 위치로 옮기는 것을 의미하는 반면, 아카이브 된 코드는 크래시 덤프 분석을 위해 자리 잡았으므로 이것은 매우 불편합니다.

원래 빌드 위치가 아닌 다른 위치에서 디버깅 컨텍스트에 액세스하도록 Visual Studio에 지시하는 간단한 방법이 (즉, 심볼 및 원본 서버를 설정하지 않고) 있습니까?

답변

1

필요한 것은 심볼 서버 또는 최소한 동일한 구조를 갖는 디렉토리입니다. TFS가있는 경우 올바르게 구성해야 할 수도 있습니다. 그렇지 않으면

, 당신은 다음과 같은 옵션이 있습니다

A) symstore
B를 사용하여 각 전달 버전을 수동으로 기호를 추가. 빌드 후 단계
에서 symstore을 사용하여 각 빌드에 대한 심볼을 자동으로 추가하고 c) a) 또는 b) 중 하나를 실행하여 결과를 HTTP 심볼 서버로 작동하는 웹 서버에 게시합니다.

혼자 일하는 경우 a) 또는 b)를 수행 할 수 있습니다. 당신은 팀에서 일하고 있다면 정말로 c) 고려해야합니다.

일이 그렇게 간단하지 않고 스택 오버플로가 본격적인 자습서를 작성하는 데 고려되지 않습니다. 그러므로 다음과 같은 힌트를드립니다 :

  1. 심볼 경로에는 여러 개의 티어가있을 수 있습니다. 현재 플랫 디렉토리 인 0 층 기호 저장소를 사용하고 있습니다. 이것은 최악의 선택입니다. 좋은 소식 : 상징이 있다면 다른 계층 유형을 설정할 수 있습니다.

  2. 계층 1에 대해 이해하고 TFS없이 옵션 c)로 이동하려면 HTTP 서버를 빌드하십시오.

이럴 경우 How to get a symbol server set up에서 필요한 모든 정보를 찾아야합니다. 네트워크에 연결하지 않으려면 로컬 디스크에 둘 수 있습니다.