From 576f81c2e06caf2e8fee4841d2b09c4cbb4cd96f Mon Sep 17 00:00:00 2001 From: "SND\\kernelnet_cp" Date: Mon, 9 Apr 2012 16:31:35 +0000 Subject: [PATCH] [0.1.x] fixed : issue #10621 ( failed to compare value from ptrPtr and typedVar ) git-svn-id: https://pykd.svn.codeplex.com/svn@75384 9b283d60-5439-405e-af05-b73fd8c4d996 --- pykd/dbgmem.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pykd/dbgmem.cpp b/pykd/dbgmem.cpp index fc49961..17ffbad 100644 --- a/pykd/dbgmem.cpp +++ b/pykd/dbgmem.cpp @@ -454,7 +454,7 @@ ULONG64 ptrPtr( ULONG64 offset, IDebugDataSpaces4* dbgDataSpace ) ULONG64 DebugClient::ptrPtr( ULONG64 offset ) { - return pykd::ptrPtr( offset, m_dataSpaces ); + return addr64( pykd::ptrPtr( offset, m_dataSpaces ) ); } ULONG64 ptrPtr( ULONG64 offset ) @@ -651,6 +651,8 @@ std::string loadAnsiStr( ULONG64 address ) python::list DebugClient::loadPtrList( ULONG64 address ) { + address = addr64( address ); + ULONG64 entryAddress = 0; python::list lst; @@ -670,7 +672,14 @@ python::list loadPtrList( ULONG64 address ) python::list DebugClient::loadPtrArray( ULONG64 address, ULONG number ) { - return ptrSize() == 8 ? loadQWords( address, number ) : loadDWords( address, number ); + address = addr64( address ); + + python::list lst; + + for ( ULONG i = 0; i < number; ++i ) + lst.append( ptrPtr( address + i*ptrSize() ) ); + + return lst; } python::list loadPtrArray( ULONG64 address, ULONG number )