Udostępnij przez


Debugowanie WOW64

Aplikacje działające w systemie WOW64 można debugować na dwa sposoby:

  • Użyj debugera hostowanego w architekturze x86, takiego jak NTSD, WinDbg lub Visual Studio. 32-bitowy NTSD jest zainstalowany do %systemroot%\syswow64 w instalacjach detalicznych. Należy pamiętać, że debugery x86 mogą służyć do debugowania kodu x86, ale nie można ich używać do dezasemblowania ani ustawiania punktów przerwania w warstwie thunk WOW64, ponieważ jest to 64-bitowy kod natywny.
  • Użyj natywnego debugera, takiego jak CDB, NTSD lub WinDbg i rozszerzenie debugera WOW64, Wow64exts.dll. Jeśli natywny debuger zatrzymuje działanie, gdy procesor jest w trybie x86, debuger przedstawia proces jako proces x86. Jeśli procesor jest w trybie natywnym, debuger przedstawia proces jako natywny.

Usługi CDB, NTSD i WinDbg znajdują się w narzędziach debugowania dla systemu Windows. Aby uzyskać więcej informacji, zobacz dokumentację narzędzia debugowania dla systemu Windows.

Rozszerzenie debugera Wow64exts jest instalowane z usługą WinDbg. Za pomocą polecenia !load wow64exts załaduj rozszerzenie debugera. W poniższej tabeli wymieniono polecenia rozszerzenia debugera !wow64exts.

Polecenie Opis
!wow64exts.sw Przełącza się między trybem x86 i natywnym.
!wow64exts.k liczba Wykonuje zrzut połączonych 32-bitowych/64-bitowych śladów stosu. Jeśli określono liczbę , polecenie wyświetli pierwsze licznik adresów w każdym śladzie stosu.
!wow64exts.info Wypisuje podstawowe informacje dotyczące PEB procesu, TEB bieżącego wątku i slotów magazynu lokalnego wątku (TLS) wykorzystywane przez WOW64.
!wow64exts.r adres Wypisuje kontekst dla określonego adresu. Jeśli adres nie zostanie określony, polecenie zrzuca kontekst procesora.