원본 서버 사용
원본 서버를 사용하면 디버거가 현재 대상과 일치하는 원본 파일을 자동으로 검색할 수 있습니다. 원본 서버를 사용하려면 빌드 시 원본 인덱싱되고 원본 파일 위치가 PDB 파일에 포함된 이진 파일을 디버깅해야 합니다.
Windows용 디버깅 도구에는 원본 서버 SrcSrv (Srcsrv.exe)가 포함됩니다.
디버거와 함께 SrcSrv 사용
SrcSrv 는 WinDbg, KD, NTSD 또는 CDB와 함께 사용할 수 있습니다.
디버거와 함께 SrcSrv 를 사용하려면 다음 명령을 입력하여 원본 경로를 srv*로 설정합니다.
.srcfix
다음 명령을 입력하여 동일한 결과를 얻을 수 있습니다.
.srcpath srv*
원본 경로를 srv*로 설정하면 대상 모듈의 기호 파일에 지정된 위치에서 원본 파일을 검색해야 한다는 것을 디버거에 알릴 수 있습니다.
SrcSrv를 사용하고 원본 경로에 디렉터리 목록도 포함하려면 세미콜론을 사용하여 경로에 있는 디렉터리와 분리 srv*
합니다.
예:
.srcpath srv*;c:\someSourceCode
이전 예제와 같이 원본 경로가 설정된 경우 디버거는 먼저 SrcSrv 를 사용하여 대상 모듈의 기호 파일에 지정된 위치에서 원본 파일을 검색합니다. SrcSrv가 원본 파일을 검색할 수 없는 경우 디버거는 c:\someSourceCode에서 검색을 시도합니다. srv*가 경로의 첫 번째 요소인지 또는 나중에 표시되는지에 관계없이 디버거는 경로에 나열된 다른 디렉터리를 검색하기 전에 항상 SymSrv를 사용합니다.
다음 예제와 같이 .srcfix+ 를 사용하여 기존 원본 경로에 추가할 srv*
수도 있습니다.
3: kd> .srcpath c:\mySource
Source search path is: c:\mySource
3: kd> .srcfix+
Source search path is: c:\mySource;SRV*
원본 서버에서 원본 파일을 검색하는 경우 디버깅 세션이 끝난 후에도 하드 드라이브에 유지됩니다. 원본 파일은 홈 디렉터리의 src 하위 디렉터리에 로컬로 저장됩니다(기호 서버와 달리 원본 서버는 구문 자체에 로컬 캐시를 srv*
지정하지 않음). 홈 디렉터리의 기본값은 디버거 설치 디렉터리입니다. !homedir 확장을 사용하거나 DBGHELP_HOMEDIR 환경 변수를 설정하여 변경할 수 있습니다. 이 하위 디렉터리가 아직 없는 경우 이 하위 디렉터리가 만들어집니다.
.open(오픈 소스 파일) 명령을 사용하여 SrcSrv를 통해 새 소스 파일을 여는 경우 -m Address 매개 변수를 포함해야 합니다.
원본을 인덱싱하는 방법 또는 고유한 소스 제어 공급자 모듈을 만들려는 경우 SrcSrv를 참조하세요.
AgeStore를 사용하여 캐시 크기 줄이기
SrcSrv에서 다운로드한 모든 원본 파일은 디버깅 세션이 끝난 후에도 하드 드라이브에 유지됩니다. 원본 캐시의 크기를 제어하기 위해 AgeStore 도구를 사용하여 지정된 날짜보다 오래된 캐시된 파일을 삭제하거나 캐시 내용을 지정된 크기 이하로 줄일 수 있습니다. 자세한 내용은 AgeStore를 참조하세요.