Depurando WOW64
Os aplicativos em execução em WOW64 podem ser depurados de duas maneiras:
- Use um depurador hospedado em x86, como NTSD, WinDbg ou Visual Studio. O NTSD de 32 bits é instalado em %systemroot%\syswow64 em instalações de varejo. Observe que os depuradores x86 podem ser usados para depurar o código x86, mas não podem ser usados para desmontar ou definir pontos de interrupção dentro da camada thunk WOW64 porque é um código nativo de 64 bits.
- Use um depurador nativo, como CDB, NTSD ou WinDbg e a extensão de depurador WOW64, Wow64exts.dll. Se o depurador nativo for interrompido enquanto o processador estiver no modo x86, o depurador apresentará o processo como um processo x86. Se o processador estiver no modo nativo, o depurador apresentará o processo como nativo.
CDB, NTSD e WinDbg estão incluídos nas Ferramentas de Depuração para Windows. Para obter mais informações, consulte a documentação Ferramentas de Depuração para Windows .
A extensão de depurador Wow64exts é instalada com WinDbg. Use o comando !load wow64exts para carregar a extensão do depurador. A tabela a seguir lista os comandos de extensão do depurador !wow64exts.
Comando | Descrição |
---|---|
!wow64exts.sw | Alterna entre o modo x86 e o modo nativo. |
!wow64exts.k count | Despeja um rastreamento de pilha combinado de 32 bits/64 bits. Se count for especificado, o comando despejará os primeiros endereços de contagem em cada rastreamento de pilha. |
!wow64exts.info | Despeja informações básicas sobre o PEB do processo, o TEB do thread atual e os slots de TLS (armazenamento local de thread) usados pelo WOW64. |
!wow64exts.r address | Despejos de contexto para o endereço especificado. Se o endereço não for especificado, o comando despejará o contexto para o processador. |