mirror of
https://github.com/ivellioscolin/pykd.git
synced 2025-04-20 03:23:23 +08:00
[0.2.x] added : fixed method size of module class
git-svn-id: https://pykd.svn.codeplex.com/svn@78864 9b283d60-5439-405e-af05-b73fd8c4d996
This commit is contained in:
parent
b06fe5b226
commit
deedfd94e0
@ -34,6 +34,7 @@ ULONG64 findModuleBase( ULONG64 offset );
|
||||
ULONG64 findModuleBySymbol( const std::string &symbolName );
|
||||
std::string getModuleName( ULONG64 baseOffset );
|
||||
std::string getModuleImageName( ULONG64 baseOffset );
|
||||
ULONG getModuleSize( ULONG64 baseOffset );
|
||||
std::string getModuleSymbolFileName( ULONG64 baseOffset );
|
||||
ULONG getModuleTimeStamp( ULONG64 baseOffset );
|
||||
ULONG getModuleCheckSum( ULONG64 baseOffset );
|
||||
|
@ -271,6 +271,22 @@ std::string getModuleImageName( ULONG64 baseOffset )
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
ULONG getModuleSize( ULONG64 baseOffset )
|
||||
{
|
||||
PyThread_StateRestore pyThreadRestore( g_dbgEng->pystate );
|
||||
|
||||
HRESULT hres;
|
||||
DEBUG_MODULE_PARAMETERS moduleParam = { 0 };
|
||||
|
||||
hres = g_dbgEng->symbols->GetModuleParameters( 1, &baseOffset, 0, &moduleParam );
|
||||
if ( FAILED( hres ) )
|
||||
throw DbgException( "IDebugSymbol::GetModuleParameters failed" );
|
||||
|
||||
return moduleParam.Size;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
std::string getModuleSymbolFileName( ULONG64 baseOffset )
|
||||
{
|
||||
PyThread_StateRestore pyThreadRestore( g_dbgEng->pystate );
|
||||
|
@ -17,6 +17,7 @@ class ModuleTest( unittest.TestCase ):
|
||||
|
||||
def testSize( self ):
|
||||
self.assertNotEqual( 0, target.module.size() )
|
||||
self.assertTrue( pykd.isValid( target.module.begin() + target.module.size() - 1) )
|
||||
|
||||
def testBegin( self ):
|
||||
self.assertNotEqual( 0, target.module.begin() )
|
||||
@ -25,6 +26,7 @@ class ModuleTest( unittest.TestCase ):
|
||||
|
||||
def testEnd( self ):
|
||||
self.assertEqual( target.module.size(), target.module.end() - target.module.begin() )
|
||||
self.assertTrue( pykd.isValid( target.module.end() - 1) )
|
||||
|
||||
def testPdb( self ):
|
||||
self.assertNotEqual( "", target.module.symfile() )
|
||||
|
Loading…
Reference in New Issue
Block a user