2009-08-27 2 views
1

저는 WinDbg를 처음 사용하는 초보자이며 64 비트 Windows 2008 Server의 WER ReportQueue 폴더에서이 덤프를 받았습니다. Windows 용 디버깅 도구 패키지를 설치 한 개발자 컴퓨터에서 덤프를 검사해야합니다.32 비트 컴퓨터에서 64 비트 덤프로 WinDbg에서 손실되었습니다.

0:035> .loadby sos mscorwks 
The call to LoadLibrary(C:\Windows\Microsoft.NET\Framework64\v2.0.50727\sos) failed, Win32 error 126 
    "The specified module could not be found." 
Please check your debugger configuration and/or network access. 

내 기계가 분명히 Framework64 폴더가없는 32 비트 윈도우 7을 실행 : 나는 SOS를로드 할 때 나는 한번도 본 적이 다음과 같은 오류가 발생했습니다.

여기에 올바른 방향으로 나를 가리키는 조언이 필요합니다. 32 비트 시스템에서 64 비트 프로세스의 덤프를 검사하려면 어떻게해야합니까? 이것을 할 수 있습니까?

미리 감사드립니다.

답변

12

64 비트 프로세스 덤프를 분석하려면 64 비트 시스템에서 64 비트 버전의 디버거를 실행해야합니다. 32 비트 프로세스의 덤프는 32 비트 및 64 비트 시스템에서 분석 할 수 있습니다. 따라서 덤프가 64 비트 프로세스에서 발생했다면 64 비트 시스템에서 분석해야합니다.

+0

Windbg는 원격 디버깅을 지원합니다 (http://msdn.microsoft.com/en-us/library/ff554416(v=VS.85).aspx). 덤프를 64 비트 시스템에로드 한 다음 32 비트 시스템을 클라이언트로 사용하십시오. – LanceSc

3

문제는 32 비트 WinDbg에서 64 비트 덤프를 분석 할 수 없다는 것입니다. WinDbg 도움말 파일에서 :

덤프 파일을 분석하고 덤프 파일이 Windows XP 또는 이후 버전의 Windows에서 만들어진 경우 32 비트 패키지 또는 x64 패키지를 사용할 수 있습니다. (덤프 파일이 사용자 모드 덤프 파일인지 커널 모드 덤프 파일인지 여부는 중요하지 않으며 덤프 파일이 x86 기반 플랫폼인지 x64 기반 플랫폼인지 여부는 중요하지 않습니다.

덤프 파일을 분석 중이며 Windows 2000 운영 체제에서 덤프 파일을 만든 경우 32 비트 패키지를 사용해야합니다. (덤프 파일이 사용자 모드 덤프 파일인지 또는 커널 모드 덤프 파일인지는 중요하지 않음)

라이브 커널 모드 디버깅을 수행하고 있고 대상 컴퓨터가 Windows XP 이상을 실행중인 경우 버전의 Windows에서는 32 비트 패키지 또는 x64 패키지를 사용할 수 있습니다. 이 상황은 x86 기반 및 x64 기반 대상 모두에 적용됩니다.

라이브 커널 모드 디버깅을 수행하고 대상 컴퓨터에서 Windows 2000을 실행하는 경우 32 비트 패키지를 사용해야합니다.

실시간 사용자 모드 디버깅을 수행하는 경우 x64 패키지를 사용하여 64 비트 및 32 비트 코드와 함께 WOW64를 디버깅합니다. 다른 대상을 디버그하려면 32 비트 디버거를 사용하여 32 비트 코드를 디버깅하십시오.

무엇이 문제입니까? 여기에서 문제를 분석하기 위해 64 비트 확장을로드하려고합니다. 32 비트 WinDbg에서 64 비트 확장을로드 할 수 없습니다. 그러면 SOS의 32 비트 버전이 64 비트 분석을 지원합니까? WinDbg가 32 비트 SOS를 사용할 수 있습니까? 나는 천국 32 비트 버전은 64 비트 프로세스를 분석 작동하지 않을 것으로 예상하지만

당신은 http://msdn.microsoft.com/en-us/library/bb190764.aspx

에 따라

.load를 사용하여로드 SOS의 특정 버전을 강제 할 수 그러나 이것을 시도하지 않았다.