WOW64 のデバッグ

WOW64 で実行されているアプリケーションは、次の 2 つの方法でデバッグできます。

  • NTSD、WinDbg、Visual Studio などの x86 でホストされるデバッガーを使用します。 32 ビット NTSD は、製品版のインストール時に %systemroot%\syswow64 にインストールされます。 x86 デバッガーは x86 コードのデバッグに使用できますが、WOW64 サンク レイヤー内のブレークポイントを逆アセンブルまたは設定するために使用することはできません。これは 64 ビットネイティブ コードであるためです。
  • CDB、NTSD、WinDbg などのネイティブ デバッガーと WOW64 デバッガー拡張機能 (Wow64exts.dll) を使用します。 プロセッサが x86 モードの間にネイティブ デバッガーが中断した場合、デバッガーはプロセスを x86 プロセスとして表示します。 プロセッサがネイティブ モードの場合、デバッガーはプロセスをネイティブとして表示します。

CDB、NTSD、WinDbg は、Windows 用デバッグ ツールに含まれています。 詳細については、 Windows 用デバッグ ツール のドキュメントを参照してください。

Wow64exts デバッガー拡張機能は WinDbg と共にインストールされます。 デバッガー拡張機能を読み込むには、!load wow64exts コマンドを使用します。 次の表に、!wow64exts デバッガー拡張機能コマンドの一覧を示します。

コマンド 説明
!wow64exts.sw x86 とネイティブ モードを切り替えます。
!wow64exts.k count 組み合わされた 32 ビット/64 ビット スタック トレースをダンプします。 count が指定されている場合、コマンドは各スタック トレースの最初のカウント アドレスをダンプします。
!wow64exts.info WOW64 で使用されるプロセスの PEB、現在のスレッドの TEB、スレッド ローカル ストレージ (TLS) スロットに関する基本情報をダンプします。
!wow64exts.r アドレス 指定したアドレスのコンテキストをダンプします。 address が指定されていない場合、コマンドはプロセッサのコンテキストをダンプします。