2009-11-25 8 views
4

많은 질문에 대해 질문을 받았으며 많은 답변이 제안되었지만 나에게 도움이되지는 못했습니다.Visual Studio에서 심볼로드 방지

한 시점에서, 나는이 지침을 사용하여, WPF 프로젝트를위한 .NET 기호 로딩 켜져 : http://blogs.msdn.com/sburke/archive/2008/01/16/configuring-visual-studio-to-debug-net-framework-source-code.aspx

큰 일했다, 모든 시원하고.

Silverlight 프로젝트를 제외하고는 해당 서버에서 기호를로드하려고 시도했지만 존재하지 않아 프로젝트를 디버깅하기위한 시작 시간이 매우 길었습니다.

그래서 기호 로딩을 해제하고 하나의 네임 스페이스 인 System.Windows.Browser를 제외한 모든 기호로드를 중지했습니다. VS는 여전히 각각의 F5에로드를 시도하는데, 몇 초가 걸리고 나를 미치게합니다.

은 나뿐만 아니라 여기에 언급 된 기호 서버 추가하려고 : http://blogs.msdn.com/seema/archive/2008/10/08/xperf-a-cpu-sampler-for-silverlight.aspx

어쩌면 기호, 그들은로드 및 캐시받을 거라고가 있다고 생각을하고, 모두 잘 될 것입니다. 하지만 아니, 그들은로드되지 않습니다,하지만 VS는 기호를 사용할 수 없었던 것을 포함하여 프로젝트에서 다른 모든 DLL에 대한 심볼을로드하려고 시도합니다. 시작하는 데 더 오래 걸립니다.

솔직히이 DLL 소스에서 디버깅 할 필요가 없습니다. 단지 멋지다고 생각했습니다. 지금 나는 그것을 끌 수 없으며 그것은 나를 박쥐로 몰고 간다. 그 수정은 뭐니?

답변

8

도구 -> 옵션 -> 디버깅 -> 기호 -> "기호를 수동으로로드 할 때만 위의 위치 검색"을 선택하거나 목록에서 모든 항목을 제거하십시오.

확인란을 선택하면 모듈 목록/스택 창에서 rclick -> DLL에 심볼로드를 할 수 있습니다.

+0

안녕 제프! 나는 그것을 완전히 시도했다. 모든 심볼 서버를 제거하고 모든 확인란의 선택을 취소했으며 여전히 System.Windows.Browser를로드하려고합니다. 하지만 그 하나! –

3

나는 당신이 당신의 환경에서

 
_NT_SYMBOL_PATH 

을 정의 할 수 있습니다 생각합니다. 그건 당신이 도구 -> 옵션 -> 디버깅 -> 기호에서 무엇을 우선하는 것 같습니다. 나는 똑같은 문제가 있었고 거의 바나나를 몰 았지 만, 창의력의 순간에 나는 devenv.exe에서 procmon (sysinternals에서)을 지시하고 "기호"에 대한 로그를 검색했다. 처음 나타나는 것은 환경 변수이다. 위. 비슷한 다른 불길한 측면 채널도있을 수 있지만, procmon이 약간의 도움을 받으면 나올 수 있다면 놀라지 않을 것입니다.

필자는이 동작이 기호를로드하는 symsrv.dll이 다른 도구와 함께 사용되고 그 기호가로드되어야 함을 알리는 다양한 방법이 있다는 사실에 기인한다고 생각합니다. "똥이 나고"계정에.

메모 -이 동작은 HttpSendRequest()와 같은 wininet-functions을 사용하는 코드가있는 경우 정말 좋지 않을 수 있습니다. Visual Studio와 인터넷 익스플로러의 모든 인스턴스를 빠르게 교착 상태에 빠뜨릴 것입니다. 그 자체가 꺼지지 않는 심볼 로딩을 추가하십시오. 당신은 ... 내가 지금까지 했어 무슨 일

을 상상할 수 그러나 나는 이제 더 기분이 :)

// P

+0

그럴 수도 있습니다. Silverlight 콘텐츠에 대해 xperf를 실행하기 위해 과거에 사용했습니다. 그러나 이제는 VS를 설치하여 호스를 관리 할 수 ​​없으므로 처음부터 다시 시작해야하므로 테스트 할 수 없습니다. –

+0

그래서, 아니, 그게 아니야. Windows, VS 및 모든 도구를 완전히 새로 설치했지만 심볼로드에 대해 아무 것도 설정하지 않았으며 여전히 해당 DLL 하나를로드하려고 시도합니다. 어딘가에 버그가 있어야합니다. –

관련 문제