From 815db55c6a516a2289ea5da4d217796bbdc163ca Mon Sep 17 00:00:00 2001 From: "SND\\kernelnet_cp" Date: Mon, 22 Nov 2010 11:39:40 +0000 Subject: [PATCH] [!] bug fixed: findModule does not work for address < 4GB git-svn-id: https://pykd.svn.codeplex.com/svn@57927 9b283d60-5439-405e-af05-b73fd8c4d996 --- pykd/dbgsym.cpp | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/pykd/dbgsym.cpp b/pykd/dbgsym.cpp index f0c73d8..181d925 100644 --- a/pykd/dbgsym.cpp +++ b/pykd/dbgsym.cpp @@ -4,6 +4,7 @@ #include "dbgsym.h" #include "dbgexcept.h" #include "dbgprint.h" +#include "dbgmem.h" ///////////////////////////////////////////////////////////////////////////////// @@ -14,8 +15,7 @@ findSymbolForAddress( ULONG64 addr ) try { - if ( *( (ULONG*)&addr + 1 ) == 0 ) - *( (ULONG*)&addr + 1 ) = 0xFFFFFFFF; + addr = addr64( addr ); ULONG moduleIndex; ULONG64 moduleBase; @@ -43,25 +43,7 @@ findSymbolForAddress( ULONG64 addr ) displace == 0 ? ss << symbolName : ss << symbolName << '+' << std::hex << displace; return boost::python::object( ss.str() ); - - -/* - std::stringstream ss; - - if ( entries == 0 ) - { - ss << moduleName << "+" << std::hex << ( addr - moduleBase ); - return boost::python::object( ss.str() ); - } - - char symbolName[0x100]; - hres = dbgExt->symbols3->GetSymbolEntryString( &debugId, 0, symbolName, sizeof(symbolName ), NULL ); - if ( FAILED( hres ) ) - throw DbgException( "IDebugSymbol3::GetSymbolEntryString failed" ); - - ss << moduleName << "!" << symbolName; - return boost::python::object( ss.str() ); */ - + } catch( std::exception &e ) {