2013-08-31 1 views
1

WinDBG 패러다임에 익숙합니다. WinDBG x64 버전을 사용하여 많은 덤프 파일을 검토했습니다. 대부분의 경우 덤프 파일은 .NET 2.0 응용 프로그램과 psscor2.dll입니다. 현재 사용하고있는 WinDBG 버전은 6.12.0002.633입니다. 최근에 저는 psscor4.dll을 사용하여 .NET 4.0 응용 프로그램 풀에서 생성 된 x64 덤프 IIS 덤프 파일을 열려고했습니다. 내가 수익을 실행하는 모든 명령, 나는 C에서 mscordacwks.dll했습니다WinDBG에서 .NET 4.0 덤프 파일 읽기

  1. "정보를 요청하지 못했습니다": \ WINDOWS를 \ Microsoft.NET \ Framework64 \ v4.0.30319 서버에
  2. mscordackwks_AMD64_AMD64_4.0.30319로 명칭 변경 .xxxx.dll. xxxx는 파일
  3. 열기를 WinDBG에서 컴파일 된 버전과 일치, 덤프 파일을 열고
  4. 실행을 기본 명령을 exepath 위의 DLL의 경로를 추가! eeversion 확인하기 위해 모든 미세 내가 초기화 GC 힙을하지 얻을 그래서 GC 모드는 가비지 컬렉션의 계획 단계에서 아직 결정되지에게
  5. 다음으로가! 스레드를 입력하고 얻을 정보
  6. 를 ThreadpoolMgr 요청하지 못했습니다
  7. 다음! 스레드 ThreadStore을 요청하지 못했습니다 내가 얻을

나는이 오류 메시지와 함께 몇 가지 기본적인 Google 검색을 수행했으며 올바른 mscordacwks.dll이 없거나 WinDBG x64의 x64 파일 또는 WinDBG x86의 x64 파일을 열지 못한다는 것을 모두 지적합니다. 난 당신이 닷넷을 디버깅의 올바른 버전이 필요합니다 3 개의 DLL이 있다는 것을 과거에 발견

+1

덤프에있는 CLR의 정확한 버전은 무엇입니까? SOS 명령이 작동합니까? –

+0

4.0.30319.17929. 아니 SOS 명령은 동일한 오류를 제공합니다 – G33kKahuna

답변

2

빌드 번호 4.0.30319.17929는 .NET 4.5 빌드 번호입니다. PSSCOR4는 4.5를 디버그하지 않습니다. 모든 버전의 .NET 2.0-4.5에서 작동하는 4.0 SOS 및/또는 SOSEX를 사용해야합니다.

+0

Thanks Steve. 그 쪽이 맞는 거 같아요. 마지막으로 서버에서 CLR.dll을 다운로드하여 작업을 진행했습니다. 이제는 SOS 명령을 실행할 수 있지만 psscor4는 실패합니다 – G33kKahuna

+0

sosex4가 있고 실패도 계속 발생합니다. 나는 가슴 깊이가 좋아. 당신이 일하고 있니? .NET 4.5를위한 특별한 단계? – G33kKahuna

+0

Sosex는 .NET 4.5에서 작동합니다. 문제가있는 경우 도움을 받으려면 오프라인으로 핑 (ping)하십시오. –

1

어떤 도움/지침 많이 감사 나

에 관련 소리를하지 않았다.

sos.dll Mscorwks.dll이 mscordacwks.dll

여기

내가 보통 것에 대해 이동 방법은 당신이 당신이 가능 단지 그들을 잡을 수있는 의미있는 서버 기반 응용 프로그램을 사용하는 것처럼 소리가 있지만,이 DLL의 http://sjbdeveloper.blogspot.com.au/, 제작 상자에서 액세스 할 수 있다고 가정하고 그렇지 않은 경우 준비 상자에서 가져옵니다.

+0

당신의 링크는 .NET v2.0을위한 것이고 당신은 단지 2 mscorwks.dll과 mscordacwks.dll 만 필요합니다. 그러나 v4.0에서는 다른 것으로 보이지만 mscorwks는 없습니다. dll. clr.dll로 바뀝니다. 또한 sos.dll은 두 버전 모두에서 필수는 아닙니다. – G33kKahuna