Hoping for a bit of guidance here from folk with more experience of using wow64exts.
OK. So. Driver developer here: when I fire up WinDbg it's normally to do some kernel-mode debugging. However, sometimes when people's machines lock up, they either generate a full memory dump or we attach WinDbg and pull one down the wire.
Often the cause of the lockup lies in the (32 bit) user mode code, so ideally we'd like to analyze these dumps and see the 32 bit stacks even if the dump came from a 64 bit box. But I can't seem to get 'em.
I've been given one such dump to look at to try and *find* the 32 bit stacks.
Well I can do a !process 0 0 and see the 32 bit process there - fine. I can dump its thread stacks (lots of wow64cpu!blah at the bottom... okay...).
0: kd> .process fffffa80079e4b30
Implicit process is now fffffa80`079e4b30
0: kd> !wow64exts.sw
Switched to 32bit mode
0: kd:x86> k
^ Current scope machine type mismatch error in 'k'
0: kd:x86> !wow64exts.k
The context is partially valid. Only x86 user-mode context is available.
Walking 64bit Stack...
*** Stack trace for last set context - .thread/.cxr resets it
Child-SP RetAddr Call Site
fffff880`07740710 fffff800`02ad5752 nt!KiSwapContext+0x7a
fffff880`07740850 fffff800`02ad78af nt!KiCommitThreadWait+0x1d2
fffff880`077408e0 fffff800`02aacfc8 nt!KeWaitForSingleObject+0x19f
fffff880`07740980 fffff800`02aab009 nt!KiSuspendThread+0x74
fffff880`077409c0 fffff800`02ad595d nt!KiDeliverApc+0x211
fffff880`07740a40 fffff800`02ad78af nt!KiCommitThreadWait+0x3dd
fffff880`07740ad0 fffff800`02dc9db2 nt!KeWaitForSingleObject+0x19f
fffff880`07740b70 fffff800`02acd853 nt!NtWaitForSingleObject+0xb2
fffff880`07740be0 00000000`74cb2dd9 nt!KiSystemServiceCopyEnd+0x13
00000000`0008ebf8 00000000`74cb2bcd 0x74cb2dd9
00000000`0008ec00 00000000`77220190 0x74cb2bcd
00000000`0008ec08 00000000`74d20023 0x77220190
00000000`0008ec10 00000000`002cc5a8 0x74d20023
00000000`0008ec18 00000000`0018fff0 0x2cc5a8
00000000`0008ec20 00000000`0008ec50 0x18fff0
00000000`0008ec28 00000000`00390008 0x8ec50
00000000`0008ec30 00000000`00000000 0x390008
Walking 32bit Stack...
^ Current scope machine type mismatch error in 'k '
!wow64exts.k: Execute failed: 0x80040205
?? Current scope machine type mismatch error in 'k ' ??
I suspect there is some key fact I'm not aware of here.
I did have a look in the windbg help but as I interpreted it, if you're grabbing a *full* memory dump it doesn't matter whether the machine running windbg - or the version of windbg being run - is 64 bit or not. So it must be something else - any help gratefully received.