2011-09-21 1 views
1

sosex를로드 한 후 다음 오류가 발생합니다. 어떤 아이디어? 정지 덤프는 32 비트 머신에서 수행 한 것이고, 내 작업은 64 비트입니다. 뭔가를 설치해야합니까?windbg에서 디버깅 중단 덤프 문제가 발생했습니다.

!clrstack 

CLR DLL status: ERROR: Unable to load DLL mscordacwks_x86_x86_2.0.50727.3623.dll, Win32 error 0n2 

답변

4

문제는 컴퓨터의 mscordacwks 버전이 크래시 덤프 버전이 아닌 것입니다. bitness 문제는 아닙니다. 컴퓨터가 64 비트이지만 32 비트 .NET이 설치되어 있습니다. 내 위치는 C : \ Windows \ Microsoft.NET \ Framework \ v2.0.50727입니다.

갖고있는 사본에는 긴 이름이 없으므로 mscordacwks.dll이라고합니다. 디버거에서 "활성"복사본이 다르다는 것을 알게되면 긴 이름 (dll을 피함)이있는 파일을 검색하고 가져올 버전을 알려줍니다. 올바른 mscordacwks.dll을 얻은 후에 (예 : 원래 컴퓨터에서) 프레임 워크 디렉토리에 복사하고 오류 메시지에 표시된대로 이름을 지정합니다. 또한 프레임 워크 디렉토리를 포함하도록 windbg의 이미지 경로를 설정했습니다.

sos는 메모리 데이터 구조를 이해하기 위해 mscordacwks 프레임 워크 어셈블리를 사용해야합니다. Notes from a dark corner 블로그의 블로그 게시물 “Failed to load data access DLL, 0x80004005” – OR – What is mscordacwks.dll?에 설명되어 있습니다.

당신은 그 dll의 다양한 버전을 얻는 방법에 관한 질문으로 인터넷이 산재 해있는 것을 발견 할 것입니다. 크래시 덤프를 만든 컴퓨터에서 얻을 수없고 마이크로 소프트 심볼 서버에서 다운로드하지 않는다고 가정 할 때 과거에 내가 한 일은 mscordacwks와 필요한 버전의 검색 microsoft.com입니다 예 : 2.0.50727.3623). 일반적으로 다운로드 할 수있는 보안 패치입니다.

시스템을 설치하기에 적절한 시스템이 없다면 설치형 exe를 7zip으로 열어 보았습니다. mscordacwks 파일이 보안 패치 설치 실행 파일에있는 패치 파일 (MSP 파일)에 있던 택시에서 발견되었습니다. 그것들 각각은 7zip으로 열 수 있습니다.

CAB 파일을 클릭하면 expand.exe를 사용하는 것이 더 좋습니다. 7zip (v4.65) 파일의 압축을 풀 수 있습니다. _manifest_.cix.xml이있는 7zip으로 CAB을 열면 매니페스트를 사용하여 내용을 추출하고 압축을 풀고 이름을 바꾸는 대신 확장을 사용하십시오. 7zip (간단한 추출을하면 ...) 숫자 그대로, 1, 2 등의 이름이 붙은 일련의 파일이 생기게됩니다. 그 파일은 여전히 ​​압축되어있을 수 있습니다. (예 : SciTE를 사용하여) 열면 PA30과 같은 서명으로 시작합니다 (이는 매니페스트의 소스 "유형"속성과 일치합니다).