From 4021a60d2d8b7d01962a634eb466610f14548fc3 Mon Sep 17 00:00:00 2001 From: "SND\\kernelnet_cp" Date: Mon, 24 Dec 2012 15:01:24 +0000 Subject: [PATCH] [0.2.x] updated: stkwalk.py script for wow64 stack printing git-svn-id: https://pykd.svn.codeplex.com/svn@82005 9b283d60-5439-405e-af05-b73fd8c4d996 --- snippets/stkwalk.py | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/snippets/stkwalk.py b/snippets/stkwalk.py index 8f0c012..77fc4dc 100644 --- a/snippets/stkwalk.py +++ b/snippets/stkwalk.py @@ -50,22 +50,28 @@ def printThread(process,thread,printopt): dprintln( findSymbol( frame.instructionOffset ) ) if is64bitSystem(): - stk = getStackWow64() - for frame in stk: - dprintln( findSymbol( frame.instructionOffset ) ) - - dprintln("") - + processorMode = getProcessorMode() + try: + setProcessorMode("X86") + dbgCommand( ".reload /user" ) + stk = getStackWow64() + dprintln("\nWOW64 stack") + for frame in stk: + dprintln( findSymbol( frame.instructionOffset ) ) + except BaseException: + pass + setProcessorMode(processorMode) + + dprintln("") + except BaseException: - - print "except" if not printopt.ignoreNotActiveThread: dprintln( "Thread %x, Process: %s" % ( thread, loadCStr( process.ImageFileName ) ) ) dprintln( "Failed to switch into thread context\n") dprintln("") - + def printProcess(process,processFilter,moduleFilter,funcFilter,printopt):