Visual Studio가 특정 DLL의 기호를로드하려는 것을 방지합니다.
-
22-08-2019 - |
문제
Microsoft의 Symbol Server를 사용하기 위해 Visual Studio 2005가 설정되어 있습니다. 나도 가지고있다 초음파 모든 프로세스에 후크 DLL을 주입하는 설치. 디버깅을 시작할 때마다 MFC Application, Visual Studio의 말 :
"Loading symbols for C:\Program Files\UltraMon\RTSUltraMonHookX32.dll..."
눈의 깜박임에서 수십 초에 이르기까지. 그 상징을 결코 찾지 못할 것입니다.
(나는 빈 것을 만들려고 노력했다 RTSUltraMonHookX32.pdb
파일이지만 Visual Studio는 그것이 좋지 않다는 것을 알 수 있으며 찾고 있습니다.)
해결책
매우 미세한 방식 으로이 작업을 수행 할 수는 없지만 자동 기호로드를 비활성화 한 다음 모듈 창 (Debug-> Windows-> 모듈)을 통해로드 할 기호를 수동으로 선택할 수 있습니다.
자동 기호 로딩을 비활성화합니다
- 도구 -> 옵션 -> 디버깅 -> 기호
- "상징이 수동으로로드 된 경우에만 위 위치 검색"을 확인하십시오.
다른 팁
또한 "_nt_symbol_path"환경 변수가 없는지 확인하십시오. 이 VAR 기호가있는 경우 VS 설정에 관계없이로드됩니다.
Visual Studio 2010에서 다음으로 갈 수 있습니다.
Tools -> Options -> Debugging -> Symbols -> Specify excluded modules
로드하는 데 너무 오래 걸리는 DLL 목록을 입력하십시오. 출력 창에 의해 주어진 전체 경로를 사용합니다. 아마도 와일드 카드 나 간단한 파일 이름을 받아 들일 수 있습니다.
내 경우에는 그 때문입니다 ".NET 소스 스테핑 활성화"를 True로 설정했습니다. 안에
Tools > Options > Debugging > General.
거짓으로 설정하는 대신 "내 코드 만 활성화"를 true로 설정하여 자동으로 ".NET 소스 스테핑"을 False로 설정합니다. 그렇게하기 전에 경고를주었습니다.
Enabling Just my code automatically disabled .Net framework source stepping
제안합니다 Just My Code
그리고 .Net source stepping
~이다 상호 배타적.
나는 이것이 누군가를 돕기를 바랍니다.
HKey_Current_User Software Microsoft Symbol Server Exclusions Exclusions Software Software Microsoft Symbol Server Exclusions를 통해 또는 %Windir % a .ini 파일을 통해도 다운로드하려는 Symbol Server 제외를 설정할 수도 있습니다. System32 inetsrv symsrv.ini (헤더 [제외]를 사용하고 각 배제를 자체 라인에 넣습니다). 제외는 간단한 패턴 일치이므로 MSXML5를 사용하십시오.* 예를 들어.
뿐만 아니라 _NT_SYMBOL_PATH
이 행동을 일으킬 수는 있지만 나에게는 _NT_ALT_SYMBOL_PATH
지연을 일으키는 환경 변수.
(WINDBG를 실험 할 때이 변수를 추가했다고 생각합니다)
Visual Studio 2013 Pro에서 Microsoft Symbol Server를 확인하면 VS는 서버에 모든 기호를로드하려고 시도하여 많은 시간이 걸립니다.
- MS 웹 사이트에서 모든 기호 패키지를 수동으로로드하고 속도를 위해 SSD 드라이브에 넣습니다. :-)
- "_nt_symbol_path"환경 변수가있는 경우 부품을 제거하십시오. "http://msdl.microsoft.com/download/symbols"SRV에서"e : 기호*http://msdl.microsoft.com/download/symbols", 그래서 당신은 당신의 기호가 구체적으로 다운로드 된 기호 경로 만 있습니다.
- 이제 기호에 대한 지원이 있지만 MS에서 다운로드되지는 않지만 드라이브에서로드됩니다.