[IDE] 디버깅 시 Symbol 로드로 느려지는 현상

2013. 3. 16. 18:49Others

문제

  • 어느 순간부터 Debugging이 실행되기까지 많은 시간이 소요되기 시작하는 경우
  • Debugging 시작 시 ‘Output’으로 다음과 같은 메시지가 엄청나게 나타나는 경우
    'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Web.Mobile\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.Mobile.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
    'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'Anonymously Hosted DynamicMethods Assembly'
    'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Dynamic\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Dynamic.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
    'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Microsoft.CSharp.resources\v4.0_4.0.0.0_ko_b03f5f7f11d50a3a\Microsoft.CSharp.resources.dll'
    'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Users\MyComputer\AppData\Local\Temp\Temporary ASP.NET Files\root\f6855295\40121f56\App_Web_cxh2wvdb.dll', Symbols loaded.
    'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Users\MyComputer\AppData\Local\Temp\Temporary ASP.NET Files\root\f6855295\40121f56\App_Web_240xz2xj.dll', Symbols loaded.
    'iisexpress.exe' (Managed (v4.0.30319)): Loaded 'C:\Users\MyComputer\AppData\Local\Temp\Temporary ASP.NET Files\root\f6855295\40121f56\App_Web_ffouwyzr.dll', Symbols loaded.
    ....
  • 현재 VisualStudio 2010~2012에서 확인 됨

해결

  • 먼저 키보드의 Ctrl+F9키를 눌러 Break Point를 모두 해제하고 다시 실행합니다. VisualStudio의 버그인지 이를 통해 정상적으로 회복되는 경우가 있습니다.
  • Break Point를 모두 해제해도 해결되지 않는다면 Symbol Server에서 매번 Symbol을 내려 받는 경우일 수 있습니다. 아래의 절차를 통해 이 문제를 수정할 수 있습니다.
    1. “Tools -> Options -> Debugging –> General” 로 이동합니다.
    2. “Enable Just My Code”를 체크합니다.
      image
    3. “Tools -> Options -> Debugging –> Symbols”로 이동합니다.
    4. "..." 버튼을 클릭하고 원하는 하드디스크 위치에 Symbol이 저장될 폴더를 생성합니다.
    5. "Load all symbols" 버튼을 클릭하여 Internet에서 모든 Symbol을 내려 받습니다. (몇 분 정도 소요됩니다..)
    6. 상단에 "Microsoft Symbol Servers"를 체크해제하여 Visual Studio가 Symbol을 내려받기위해 MS Server에 접속하는 것을 막습니다..
      image
    7. “확인” 버튼을 클릭하여 위 사항을 적용합니다.
  • 위의 경우에도 해결되지 않는 경우 Debugging Mode를 ASP.NET만 적용되도록 설정을 시도해봅니다.
    1. “Project Property”로 이동합니다.
    2. “Web”을 클릭합니다.
      image
    3. 가장 하단의 “Debuggers” 항목 중 필요한 것 만 선택합니다. 예를들어 ASP.NET 개발의 경우 ASP.NET만 선택합니다.
      image