2016-09-05 9 views
1

동일한 exe를 디버깅하기 위해 windbg.exe를 사용했습니다. windbg가이 exe를로드 할 때마다 심볼 다운로드에 1 분이 소요됩니다. windbg 창의 왼쪽 아래 구석에는 "[winnt.dll] ..." "기호 다운로드 중" "이 표시됩니다.windbg에서 심볼 경로를 설정했는데 windbg가 같은 exe에서 동일한 심볼을 다운로드 할 때마다 왜 그런가?

여러 번 확인했습니다. 내 기호 경로를 설정 한, 하나 개의 라인은 다음과 같습니다

************* Symbol Path validation summary ************** 
Deferred SRV*D:\SymCache\Microsoft*http://msdl.microsoft.com/download/symbols 

이 한 내가 때마다 난에 windbg를 열고 왜 마이크로 소프트 다운로드 URL 및 로컬 캐시 디렉토리를 설정 한대로, 나에게 이상한 동일한 exe를로드하고, windbg는 동일한 winnt.dll을 다운로드 할 것입니다 ..... .....?

감사합니다.

답변

3

WinDbg에서 기호를 다시 다운로드하지 않지만 마지막으로 찾지 못한 파일을 다시 다운로드하려고 시도합니다. 내 예에서

, 나는 기호를 다운로드 한 그것은 hal.dll, kdcom.dll, ntkrnlmp.pdbntoskrnl.exe을 가져.

다시 .reload하는 경우, 다시 halaacpi.dll을 찾고있었습니다.

HTTP roundtrip times

는 요청에 따라 8 + 초 미친 HTTP의 왕복 시간을 유의하시기 바랍니다, 그래서 그냥 다운로드 할 필요가 없다는 것을 알아 내기 위해 66초을했다 : 와이어 샤크와 트래픽을 모니터링 당신은 볼 수 있습니다. 참고 사항 : Is WinDbg Supposed to Be So Excruciatingly Slow?

1

pdb가 로컬 캐시에 있으면 symsrv는 심볼 서버에서 다운로드하여 로컬 캐시에서 다운로드 할 수 있습니다. 매핑 된 네트워크 드라이브가 될 수 있습니다. 가상 컴퓨터 등에서 디버깅 할 때 호스트 컴퓨터의 공유 폴더가 될 수 있습니다. diwnloading은 ststes 내부 또는 외부 vize file : // 일 수있는 기호를 가져 오는 중입니다. 또는 http : //