WOW64で実行されているアプリケーションは、次の2つの方法でデバッグできます。
- NTSD、WinDbg、Visual Studioなどのx86ホストデバッガーを使用します。 32ビットNTSDは、リテールインストールでは%systemroot%\ syswow64にインストールされます。 x86デバッガーはx86コードのデバッグに使用できますが、64ビットのネイティブコードであるため、WOW64サンクレイヤー内のブレークポイントの逆アセンブルまたは設定には使用できません。
- CDB、NTSD、WinDbgなどのネイティブデバッガーとWOW64デバッガー拡張機能、Wow64exts.dllを使用します。プロセッサがx86モードのときにネイティブデバッガーが中断すると、デバッガーはプロセスをx86プロセスとして表示します。プロセッサがネイティブモードの場合、デバッガはプロセスをネイティブとして表示します。
CDB、NTSD、WinDbgは、Debugging Tools for Windowsに含まれています。詳細については、Windows用デバッグツールのドキュメントを参照してください。
Wow64extsデバッガー拡張機能は、WinDbgと共にインストールされます。 !load wow64extsコマンドを使用して、デバッガー拡張機能をロードします。次の表は、!wow64extsデバッガー拡張コマンドの一覧です。
コマンド | 説明 |
!wow64exts.sw | x86とネイティブモードを切り替えます。 |
!wow64exts.k count | 結合された32ビット/ 64ビットのスタックトレースをダンプします。 countが指定されている場合、コマンドは各スタックトレースの最初のcountアドレスをダンプします。 |
!wow64exts.info | プロセスのPEB、現在のスレッドのTEB、およびWOW64によって使用されるスレッドローカルストレージ(TLS)スロットに関する基本情報をダンプします。 |
!wow64exts.r address | 指定されたアドレスのコンテキストをダンプします。アドレスが指定されていない場合、コマンドはプロセッサのコンテキストをダンプします。 |