WOW64 디버깅

WOW64에서 실행되는 애플리케이션은 다음 두 가지 방법으로 디버그할 수 있습니다.

  • NTSD, WinDbg 또는 Visual Studio와 같은 x86 호스팅 디버거를 사용합니다. 32비트 NTSD는 소매 설치 시 %systemroot%\syswow64에 설치됩니다. x86 디버거는 x86 코드를 디버그하는 데 사용할 수 있지만 64비트 네이티브 코드이므로 WOW64 렁크 계층 내에서 중단점을 디스어셈블하거나 설정하는 데 사용할 수 없습니다.
  • CDB, NTSD 또는 WinDbg 및 WOW64 디버거 확장과 같은 네이티브 디버거를 Wow64exts.dll. 프로세서가 x86 모드인 동안 네이티브 디버거가 중단되면 디버거는 프로세스를 x86 프로세스로 표시합니다. 프로세서가 기본 모드인 경우 디버거는 프로세스를 네이티브로 표시합니다.

CDB, NTSD 및 WinDbg는 Windows용 디버깅 도구에 포함되어 있습니다. 자세한 내용은 Windows용 디버깅 도구 설명서를 참조하세요.

Wow64exts 디버거 확장은 WinDbg와 함께 설치됩니다. !load wow64exts 명령을 사용하여 디버거 확장을 로드합니다. 다음 표에는 !wow64exts 디버거 확장 명령이 나열됩니다.

명령 설명
!wow64exts.sw x86과 기본 모드 사이를 전환합니다.
!wow64exts.k 개수 결합된 32비트/64비트 스택 추적을 덤프합니다. count를 지정하면 명령은 각 스택 추적의 첫 번째 개수 주소를 덤프합니다.
!wow64exts.info 프로세스의 PEB, 현재 스레드의 TEB 및 WOW64에서 사용하는 TLS(스레드 로컬 스토리지) 슬롯에 대한 기본 정보를 덤프합니다.
!wow64exts.r address 지정된 주소의 컨텍스트를 덤프합니다. 주소를 지정하지 않으면 명령은 프로세서에 대한 컨텍스트를 덤프합니다.