[visual-studio] Visual Studio 로딩 기호
나는 한동안 ColdFusion 프로젝트를 진행하고 있으며 Visual Studio는 적어도 나에게 이상하게 행동하기 시작했습니다.
디버깅을 시작할 때 프로젝트를 빌드하고 배포를 시작했으며 배포가 완료되었으며 프로젝트의 심볼을로드하기 시작했습니다.
그러나 속도가 매우 느려서 왜이 단계를 시작했는지 모르겠습니다. 내가 무엇을 했습니까?
이 심볼 로딩 단계가 필요합니까? 어떻게 비활성화 할 수 있습니까?
도구-> 옵션-> 디버깅-> 기호 대화 상자에는 추가 된 기호 파일 (.pdb) 위치가 없습니다. 그리고 아래 필드에서 프로젝트의 디버그 디렉토리를 가리키고 “기호가 … 일 때만 위 디렉토리 검색”확인란을 선택했습니다. 심볼로드를 끄려면이 대화 상자를 어떻게 설정해야합니까?
어떤 심볼이로드되는지 모듈 창에서 보았지만 아무 말도하지 않습니다. 무엇이 문제입니까?
답변
디버그-> 모든 중단 점 삭제 ( http://darrinbishop.com/blog/2010/06/sharepoint-2010-hangs-after-visual-studio-2010-f5-debugging ) 그 후 다시 사용할 수는 있지만 수행하십시오. 한번. 어떤 종류의 “유효하지 않은”중단 점도 제거하고로드 기호가 다시 빠릅니다. 나는 며칠 동안이 문제를 쫓고있었습니다.
답변
느린 로딩의 또 다른 이유는 디버깅 옵션에서 “내 코드 만 활성화”를 비활성화 한 경우입니다. 이것을 가능하게하려면 :
Tools -> Options -> Debugging -> General -> Enable Just My Code (Managed Only)
이것이 체크되어 있는지 확인하십시오.
답변
도구, 옵션, 디버깅, 기호에서 구성하십시오.
출력 창 (보기, 출력)을보고 일반적으로 수행중인 작업을 확인할 수 있습니다. 실제로 속도가 느리면 아마도 누락 된 기호를 다운로드하기 위해 Microsoft의 기호 서버에 충돌하고 있음을 의미합니다. 시작 시마다 찾을 수없는 각 파일에 대해 세 번의 HTTP 적중이 필요합니다. 때때로 하단의 상태 표시 줄이나 Fiddler에서이를 확인할 수 있습니다. 디버깅하는 동안 디버그, Windows, 모듈에서 심볼을로드 한 모듈을 확인할 수 있습니다.
기호는 유용한 스택 추적 정보를 타사 및 시스템 어셈블리에 가져 오는 것을 의미합니다. 당신은 분명히 자신의 코드를 위해 그것들을 필요로하지만, 나는 그것들이 관계없이로드된다고 생각합니다. 가장 좋은 방법은 해당 메뉴에서 로컬이 아닌 심볼 소스를 끄는 것입니다. 디버그 할 필요가없는 시스템 어셈블리에 많은 심볼을로드하는 경우 일시적으로로드를 비활성화하여 디버그 시작 속도를 높일 수 있습니다. 그러나 종종로드하는 것이 유용합니다.
답변
이 문제가 발생했습니다.
다음을 탐색하여 수정했습니다.
도구 -> 옵션 -> 디버깅 -> 기호
그런 다음 Symbol 파일 (.pdb) 위치에 대한 모든 로컬이 아닌 소스를 선택 취소
예 : Microsoft Symbol 서버 및 msdl.microsoft.com/download/symbols
답변
나는 비슷한 문제에 직면했다. 필자의 경우 WinDbg에서 사용하기 위해 Microsoft 서버에서 다운로드하도록 _NT_SYMBOL_PATH를 설정했으며 설정하면 Visual Studio에서 무시하지 않고 사용할 것입니다. 해당 환경 변수를 제거하면 문제가 해결되었습니다.
답변
Visual Studio 디버깅 /로드에 대해 다음과 같은 답변을 매우 느리게 시도 할 수 있습니다 .
도구-> 옵션-> 디버깅-> 일반으로 이동하십시오.
“내 코드 만 활성화”옆에있는 확인 표시를 확인하십시오.
도구-> 옵션-> 디버깅-> 기호로 이동하십시오.
“…”버튼을 클릭하고 캐시 된 심볼을 저장하기 위해 로컬 컴퓨터 어딘가에 새 폴더를 생성 / 선택하십시오. 필자는 “Symbol caching”이라는 이름을 지정하여 Documents-> Visual Studio 2012에 넣었습니다.
“모든 심볼로드”를 클릭하고 Microsoft 서버에서 심볼이 다운로드 될 때까지 기다리십시오. 시간이 걸릴 수 있습니다. 모든 심볼로드 버튼은 디버깅하는 동안에 만 사용할 수 있습니다.
Visual Studio가 Microsoft 서버를 원격으로 쿼리하지 못하게하려면 “Microsoft Symbol 서버”옆에있는 확인 표시를 선택 취소하십시오.
“확인”을 클릭하십시오.
또한 모든 중단 점 (디버그> 모든 중단 점 삭제)을 삭제하십시오.
답변
나를 위해, 그것은 받아 들인 대답에 표시된 것처럼 중단 점과 관련이있는 것 같습니다. 그러나 모든 중단 점을 삭제하지 않는 두 가지 해결 방법이 있습니다.
- Visual Studio를 다시 시작하면 일시적으로 문제가 해결 된 것 같습니다.
- 디버깅하는 동안 “X”단추를 클릭하여 Visual Studio를 닫으면 “디버깅을 중지 하시겠습니까?” 메시지 상자가 나타납니다. 이 메시지 상자가 켜져있는 동안 기호는 보통 속도로로드됩니다. 모든 기호가로드되면 “아니오”를 클릭하여 닫기를 취소 할 수 있습니다.