windbg - SOS does not support the current target architecture.
이상하군요. 제 (64비트 운영체제가 설치된) 로컬 컴퓨터에서 '작업 관리자'를 통해 생성한 (32비트 프로세스의) 풀 덤프를 windbg에서 로드해 sos.dll을 사용하려는데 다음과 같이 오류가 발생합니다.
0:000> .loadby sos clr
0:000> !clrstack
SOS does not support the current target architecture.
.chain 명령어로 확인해 봐도 x86용 sos.dll이 올라온 것이 맞습니다.
0:000> .chain
Extension DLL search Path:
C:\...[생략]...;C:\Program Files (x86)\Microsoft VS Code\bin
Extension DLL chain:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos: image 4.7.2101.1, API 1.0.0, built Sat Jun 3 16:46:03 2017
[path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos.dll]
dbghelp: image 10.0.15063.468, API 10.0.6, built Thu Jan 1 09:00:00 1970
[path: C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\dbghelp.dll]
ext: image 10.0.15063.468, API 1.0.0, built Thu Jan 1 09:00:00 1970
[path: C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\winext\ext.dll]
exts: image 10.0.15063.468, API 1.0.0, built Thu Jan 1 09:00:00 1970
[path: C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\WINXP\exts.dll]
uext: image 10.0.15063.468, API 1.0.0, built Thu Jan 1 09:00:00 1970
[path: C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\winext\uext.dll]
ntsdexts: image 10.0.15063.468, API 1.0.0, built Thu Jan 1 09:00:00 1970
[path: C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\WINXP\ntsdexts.dll]
검색해 보니, 작업 관리자로 한 경우 그럴 수 있다고 합니다. ^^; 실제로 Process Explorer를 통해 동일한 (32비트) 프로세스의 덤프를 떴는데 그 파일은 문제 없이 sos.dll이 동작했습니다. (2025-04-09 업데이트:
32비트용 Task Manager를 사용해 덤프하는 것도 가능합니다.)
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]