windbg 심볼 다운로드

/R 옵션은 모든 실행 파일에 일치 하는 Pdb가 있는지 확인 하기 위해 symchk를 재귀적으로 폴더를 통과 하도록 설정 합니다. /S 옵션을 사용 하지 않으면 symchk는 현재 _NT_SYL_PLOIT를 사용해 개인 또는 로컬 서버나 Microsoft 기호 서버에서 기호를 검색 합니다. Symchk 도구는 실행 파일 (.exe, .dll 및 유사)에 대 한 기호도 검색 합니다. 와일드 카드를 사용 하 여 실행 불가능 한 파일에 대 한 기호를 검색할 수 없습니다. 빌드 프로세스의 일부로 기호 서버에 직접 기호를 추가 하거나 타사 라이브러리 또는 도구에 대 한 전체 팀에서 기호를 사용할 수 있도록 할 수 있습니다. 기호 서버 파일 공유에 기호를 추가 하는 프로세스를 인덱싱 기호 라고 합니다. 기호를 색인화 하는 데는 두 가지 일반적인 방법이 있습니다. 기호 파일을 기호 서버에 복사할 수 있습니다. 또는 심볼의 위치에 대 한 포인터를 심볼 서버로 복사할 수 있습니다. 이전 빌드가 포함 된 보관 폴더가 있는 경우 기호를 복제 하는 대신 공유에 이미 있는 PDB 파일에 대 한 포인터를 인덱싱할 수 있습니다. 심볼의 크기는 수십 메가바이트 일 수 있으므로 개발 과정에서 프로젝트의 모든 빌드를 보관 하는 데 필요할 수 있는 공간을 미리 계획 하는 것이 좋습니다. 기호에 대 한 포인터만 인덱싱하면 이전 빌드를 제거 하거나 파일 공유의 이름을 변경 하는 경우 문제가 발생할 수 있습니다.

SRV * c:min * http://msdl.microsoft.com/download/symbols 기호 서버는 여러 버전의 실행 파일과 기호 파일을 위한 리포지토리입니다. 기호 파일 자체 또는 관련 된 기호 파일에 대 한 포인터를 포함 합니다. 디버거는 기호 서버를 사용 하는 방법을 이해 하 고, 누락 되거나 알 수 없는 기호를 검색 하는 데 사용할 수 있습니다. Microsoft 기호 서버와 같은 모든 인터넷 기호 서버 이 cmdlet에 대 한 기호 서버 인수 (-기호 서버)는 ETL 파일을 이해 하 고 사람이 읽을 수 있는 형식으로 변환 하는 데만 사용 됩니다. 오프 라인 기호 패키지는 더 이상, 때문에 각 Windows 업데이트의 각 집합 후 첫 번째 디버그 세션은 나이 시간이 오래 걸리는 Visual Studio가 최신 기호를 다운로드 하는 동안 기다려야 하 고 (예: 파일 대화 상자를 여는 많은 일시 중지를 통해 고통 더 기호를 다운로드할 수 있습니다. 디버깅을 시작 하기 전에 Windows 설치에 대 한 모든 기호를 다운로드 하기 위해 실행할 수 있는 도구나 명령이 있습니까? 자체 로컬 네트워크에 심볼 서버를 설정 하는 것은 서버에 파일 공유를 생성 하 고 사용자에 게 파일 및 폴더를 생성 하기 위해 공유에 액세스할 수 있는 모든 권한을 부여 하는 것 만큼 간단 합니다. 이 공유는 Windows Server 2003와 같은 서버 운영 체제에서 만들어야 공유에 동시에 액세스할 수 있는 사용자 수가 제한 되지 않습니다. 이 예제의 기호 경로는 srv * c: 기호 *//msdl.microsoft.com/download/symbols. 첫 번째 경로는 로컬 디렉터리이 고 두 번째 경로는 Microsoft의 기호 서버 경로입니다. 이 경로는 shell32, gdi32, advapi32, kernel32 및 기타 여러 라이브러리와 같은 Windows 라이브러리에 대 한 기호를 가져오는 데 필요 합니다.

디버깅 해야 하는 응용 프로그램은 이러한 라이브러리를 사용 하 고 있을 수 있습니다. 이 환경 변수를 사용 하 여 여러 개의 기호 서버 (예: 내부 개인 기호 서버)를 지정할 수 있습니다. 또한 내부 및 인터넷을 통해 기호 서버에서 조회 하는 모든 기호에 대 한 Pdb를 저장할 로컬 캐시 디렉터리를 지정할 수 있습니다. 기호 검색 경로를 설정한 후에는 메모리에 있는 모든 로드 된 모듈에 대 한 기호를 로드 해야 합니다.